         user.room = msg.channel_id
 
         text = mmPost.message
-        text = "#{@robot.name} #{text}" if msg.props.channel_type == 'D' and !///^#{@robot.name} ///i.test(text) # Direct message
+        if msg.props.channel_type == 'D' and !///^#{@robot.name} ///i.test(text) # Direct message
+          text = "#{@robot.name} #{text}"
+          user.mm.dm_channel_id = msg.channel_id
 
         @receive new TextMessage user, text, msg.id
         @robot.logger.debug "Message sent to hubot brain."


    send: (envelope, strings...) ->
        @client.postMessage(str, envelope.room) for str in strings

    reply: (envelope, strings...) ->
        @robot.logger.debug "Reply"

            real_name: "#{user.first_name} #{user.last_name}"
            email_address: user.email
            mm: {}
        # Preserve the DM channel ID if it exists
        newUser.mm.dm_channel_id = @robot.brain.userForId(user.id).mm?.dm_channel_id
        for key, value of user
            newUser.mm[key] = value
        if user.id of @robot.brain.data.users
