     ###
     inject: =>
       return unless @inConversation()
-      @getSettingEmail().then (settingEmail) =>
+
+      log 'inject: in a conversation'
+      Q.all([
+        @getSettingEmail()
+        @getCurrentEmailAddress()
+      ])
+      .then ([settingEmail, currentEmailAddress]) =>
         log 'Email address in settings', settingEmail
-        @getCurrentGmail().then (currentGmail) =>
-          log 'Current Gmail window', currentGmail
-          @injectThread() if (not settingEmail or not currentGmail) or currentGmail in settingEmail.split /[, ]+/ig
-      return
+        log 'Current Gmail window', currentEmailAddress
+        if (not settingEmail or not currentEmailAddress) or currentEmailAddress in settingEmail.split /[, ]+/ig
+          return @injectThread()
+        return
 
     isPreviewPaneEnabled: ->
       ($ M.GM_SEL.PREVIEW_PANE_ENABLED).length > 0

         logged in user
         @returns {Promise} a promise that resolves to the email address {String}
    ###
    getCurrentGmail: -> currentEmailAddressDeferred.promise

    ###
    Sets up a listener for GMailr


    initTrackJs: ->
      @getVersion().then (version) =>
        @getCurrentEmailAddress().then (email) ->
          opts =
            userId: email
            version: version
