 
     @registerCommands()
     @observeInputChange()
-    @observeCursorPositionChange()
+    @observeCursorPositionChangeForNarrowEditor()
 
   # Return row
   findValidItem: (startRow, direction) ->

    @grammar = new NarrowGrammar(@narrowEditor, {@initialKeyword, includeHeaderRules})
    @grammar.activate()
    @narrowEditorElement.classList.add(_.dasherize(@provider.getName()))

    activePane = atom.workspace.getActivePane()
    direction = settings.get('directionToOpen')

    fn()
    @locked = false

  observeCursorPositionChangeForNarrowEditor: ->
    @narrowEditor.onDidChangeCursorPosition (event) =>
      {oldBufferPosition, newBufferPosition, textChanged, cursor} = event
      return if @isLocked() or
        not cursor.selection.isEmpty() or
        textChanged or
        (newBufferPosition.row is 0) or
        (oldBufferPosition.row is newBufferPosition.row)
