           charLength = 1
           valueIndex++
 
-        return {top, left} if column is targetColumn
+        break if column is targetColumn
 
         left += characterWidths[char] ? baseCharacterWidth unless char is '\0'
         column += charLength
-    {top, left}
+
+    {top: top - @scrollTop, left}
 
   hasPixelRectRequirements: ->
     @hasPixelPositionRequirements() and @scrollWidth?

      # Middle rows, extending from left side to right side of screen
      if spannedRows > 2
        regions.push(
          top: startPixelPosition.top + lineHeightInPixels - @scrollTop
          height: endPixelPosition.top - startPixelPosition.top - lineHeightInPixels
          left: 0
          right: 0


      # First row, extending from selection start to the right side of screen
      regions.push(
        top: startPixelPosition.top
        left: startPixelPosition.left
        height: lineHeightInPixels
        right: 0
