     return if @destroyed
 
     @destroyed = true
+
+    # NOTE: Prevent delayed-refresh on destroyed editor.
+    @cancelDelayedRefresh()
+
     @constructor.unregister(this)
     @highlighter.destroy()
     @syncSubcriptions?.dispose()

      @emitDidRefresh()
      @emitDidStopRefreshing()

  renderItems: (items) ->
    texts = items.map (item) => @provider.viewForItem(item)
    @withIgnoreChange =>

      range = @editor.setTextInBufferRange(itemArea, texts.join("\n"), undo: 'skip')
      @setModifiedState(false)
      @editorLastRow = range.end.row

  observeChange: ->
    @editor.buffer.onDidChange (event) =>
