     @rowMap.spliceRegions(startBufferRow, endBufferRow - startBufferRow, regions)
     @findMaxLineLength(startScreenRow, endScreenRow, screenLines)
 
+    if startBufferRow <= @longestScreenRow < endScreenRow
+      @computeScrollWidth()
+
     return if options.suppressChangeEvent
 
     changeEvent =

        @longestScreenRow = maxLengthCandidatesStartRow + screenRow
        @maxLineLength = length

  handleBufferMarkersUpdated: =>
    if event = @pendingChangeEvent
      @pendingChangeEvent = null

    @getLineCount() * @getLineHeightInPixels()

  getScrollWidth: ->
    @scrollWidth

  getVisibleRowRange: ->
    return [0, 0] unless @getLineHeightInPixels() > 0
