     # Visually highlight of the active hint (that is, the one that will be activated if the user
     # types <Enter>).
     tabCount = ((linksMatched.length * Math.abs tabCount) + tabCount) % linksMatched.length
-    @activeHintMarker?.classList.remove "vimiumActiveHintMarker"
+    @activeHintMarker?.classList?.remove "vimiumActiveHintMarker"
     @activeHintMarker = linksMatched[tabCount]
-    @activeHintMarker?.classList.add "vimiumActiveHintMarker"
+    @activeHintMarker?.classList?.add "vimiumActiveHintMarker"
 
     linksMatched: linksMatched
     userMightOverType: @hintKeystrokeQueue.length == 0 and 0 < @linkTextKeystrokeQueue.length


    # Note(philc): Append these markers as top level children instead of as child nodes to the link itself,
    # because some clickable elements cannot contain children, e.g. submit buttons.
    @hintMarkerContainingDiv = DomUtils.addElementList @hintMarkers,
      id: "vimiumHintMarkerContainer", className: "vimiumReset"
    @hideMarker hintMarker for hintMarker in @hintMarkers when hintMarker.hintDescriptor.frameId != frameId

  setOpenLinkMode: (@mode, shouldPropagateToOtherFrames = true) ->
    @hintMode.setIndicator @mode.indicator if windowIsFocused()

        (if marker.showLinkText then ": " + marker.linkText else ""))

  fillInMarkers: (hintMarkers) ->
    @renderMarker marker for marker in hintMarkers when marker.isLocalMarker

    # We use @filterLinkHints() here (although we know that all of the hints will match) to fill in the hint
    # strings.  This ensures that we always get hint strings in the same order.
