          });
        }
  
-@@ -909,6 +1030,11 @@ var Grid = function (_React$PureComponent) {
+@@ -909,6 +1035,11 @@ var Grid = function (_React$PureComponent) {
            visibleRowIndices: visibleRowIndices
          });
  

 
       this._onScrollMemoizer({
         callback: function callback(_ref7) {
@@ -973,19 +1103,26 @@ var Grid = function (_React$PureComponent) {
               onScroll = _props7.onScroll,
               width = _props7.width;
 

         }
       });
     }
@@ -1325,6 +1467,15 @@ var Grid = function (_React$PureComponent) {
         var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();
         var scrollBarSize = instanceProps.scrollbarSizeMeasured && totalColumnsWidth > width ? instanceProps.scrollbarSize : 0;
 
+        // If we're scrolling to the last row, then we scroll as far as we can,
+        //   even if we can't see the entire row. We need to be at the bottom.
+        if (targetIndex === finalRow) {
+          const totalHeight = instanceProps.rowSizeAndPositionManager.getTotalSize();
+          const maxScroll = totalHeight - height;
+
+          return maxScroll;
+        }
+
         return instanceProps.rowSizeAndPositionManager.getUpdatedOffsetForIndex({
           align: scrollToAlignment,
           containerSize: height - scrollBarSize,
diff --git a/node_modules/react-virtualized/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js b/node_modules/react-virtualized/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js
index 70b0abe..8e12ffc 100644
--- a/node_modules/react-virtualized/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js
