       # Block keyboard events while the user is still typing.  The intention is to prevent the user from
       # inadvertently launching Vimium commands when (over-)typing the link text.
       installKeyBoardBlocker (callback) -> new TypingProtector 200, callback
-    else
-      DomUtils.flashRect linkMatched.rect if linkMatched.hint.frameId == frameId
+    else if linkMatched.hint.frameId == frameId
+      DomUtils.flashRect linkMatched.rect
       HintCoordinator.sendMessage "exit"
 
   #

      if document.hasFocus()
        startKeyboardBlocker -> HintCoordinator.sendMessage "exit"

    HintCoordinator.onExit.push => @deactivateMode()
    if userMightOverType and Settings.get "waitForEnterForFilteredHints"
      installKeyBoardBlocker (callback) -> new WaitForEnter callback

      @hideMarker marker for marker in hintMarkers
      @showMarker matched, @markerMatcher.hintKeystrokeQueue.length for matched in linksMatched

  # When only one link hint remains, this function activates it in the appropriate way.  The current frame may
  # or may not contain the matched link, and it may or may not have the focus.  These two things are
  # independent, so there are four possible cases.  All four cases are accounted for here by selectively
  # pushing the appropriate onExit() handlers.
  activateLink: (linkMatched, userMightOverType=false) ->
    @removeHintMarkers()
    clickEl = HintCoordinator.getLocalHintMarker(linkMatched.hint)?.element
