         delete @lineNumberNodesById[lineNumberId]
         delete @lineNumberIdsByScreenRow[screenRow] if @lineNumberIdsByScreenRow[screenRow] is lineNumberId
         delete @screenRowsByLineNumberId[lineNumberId]
+        delete @renderedDecorationsByLineNumberId[lineNumberId]
         node.removeChild(lineNumberNode)
 
-  buildLineNumberHTML: (bufferRow, softWrapped, maxLineNumberDigits, screenRow, decorations) ->
-    {editor, lineHeightInPixels} = @props
+  buildLineNumberHTML: (bufferRow, softWrapped, maxLineNumberDigits, screenRow) ->
+    {editor, lineHeightInPixels, lineDecorations} = @props
     if screenRow?
       style = "position: absolute; top: #{screenRow * lineHeightInPixels}px;"
     else

    iconHTML = '<div class="icon-right"></div>'
    padding + lineNumber + iconHTML

  updateLineNumberNode: (lineNumberId, bufferRow, screenRow, softWrapped, decorations) ->
    {editor} = @props
    node = @lineNumberNodesById[lineNumberId]
    previousDecorations = @previousDecorations[screenRow]

    if editor.isFoldableAtBufferRow(bufferRow)
      node.classList.add('foldable')
    else
      node.classList.remove('foldable')

    if previousDecorations?
      for decoration in previousDecorations

    innerHTML = @buildLineNumberInnerHTML(bufferRow, softWrapped, maxLineNumberDigits)

    classes = ''
    if lineDecorations and decorations = lineDecorations[screenRow]
      for decoration in decorations
        if editor.decorationMatchesType(decoration, 'gutter')
          classes += decoration.class + ' '
