        } else {
          (0, _updateScrollIndexHelper2.default)({
            cellSizeAndPositionManager: instanceProps.rowSizeAndPositionManager,
-@@ -635,19 +730,50 @@ var Grid = function (_React$PureComponent) {
+@@ -635,19 +732,50 @@ var Grid = function (_React$PureComponent) {
          });
        }
  

         }
       });
     }
@@ -1325,6 +1467,15 @@ var Grid = function (_React$PureComponent) {
         var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();
         var scrollBarSize = instanceProps.scrollbarSizeMeasured && totalColumnsWidth > width ? instanceProps.scrollbarSize : 0;
 

+          }
+
+          if (isVisible) {
+            // We check the target row's offset against the totalRowsHeight because sometimes the math can be a bit off,
+            //   and the target row has an offset greater than our calculated total height.
+            this._hasScrolledToRowTarget = targetRow.offset === scrollTop || (targetRow.offset < totalRowsHeight && scrollTop >= maxScroll);
+          }
+        }
+      }
