wxRegionIterator iter( reg );
     wxRect r;
 
-    wxArrayInt  rowlabels;           
-        
+    wxArrayInt  rowlabels;
+
     int top, bottom;
     while ( iter )
     {
 
             // Otherwise refresh redraws the highlight!
             m_currentCellCoords = coords;
-            
+
             DrawGridCellArea(dc,cells);
             DrawAllGridLines( dc, r );
         }
 //
 void wxGrid::MakeCellVisible( int row, int col )
 {
+
     int i;
     int xpos = -1, ypos = -1;
 
             // we divide it later by GRID_SCROLL_LINE, make sure that we don't
             // have rounding errors (this is important, because if we do, we
             // might not scroll at all and some cells won't be redrawn)
-            ypos += GRID_SCROLL_LINE / 2;
+            //
+            // Sometimes GRID_SCROLL_LINE/2 is not enough, so just add a full
+            // scroll unit...
+            ypos += GRID_SCROLL_LINE;
         }
 
         if ( left < 0 )
             }
 
             // see comment for ypos above
-            xpos += GRID_SCROLL_LINE / 2;
+            xpos += GRID_SCROLL_LINE;
         }
 
         if ( xpos != -1  ||  ypos != -1 )