 
       continue unless @gutterIsVisible(gutter)
       for decorationId, {properties, screenRange} of @customGutterDecorationsByGutterName[gutterName]
+        top = @linesYardstick.topPixelPositionForRow(screenRange.start.row)
+        bottom = @linesYardstick.topPixelPositionForRow(screenRange.end.row + 1)
         @customGutterDecorations[gutterName][decorationId] =
-          top: @lineHeight * screenRange.start.row
-          height: @lineHeight * screenRange.getRowCount()
+          top: top
+          height: bottom - top
           item: properties.item
           class: properties.class
 


    verticalScrollMarginInPixels = @getVerticalScrollMarginInPixels()

    top = screenRange.start.row * @lineHeight
    bottom = (screenRange.end.row + 1) * @lineHeight

    if options?.center
      desiredScrollCenter = (top + bottom) / 2


  restoreScrollTopIfNeeded: ->
    unless @scrollTop?
      @updateScrollTop(@linesYardstick.topPixelPositionForRow(@model.getFirstVisibleScreenRow()))

  restoreScrollLeftIfNeeded: ->
    unless @scrollLeft?
