     {
         var bounds:Rectangle = new Rectangle();
         // Find the row that spans or is above the scrollRect top edge
-        var row:int = Math.floor((scrollRect.top - 1) / (_rowHeight + _verticalGap));
+        var row:int = Math.floor((scrollRect.top - 1 - paddingTop) / (_rowHeight + _verticalGap));
         bounds.top = topEdge(row);
         bounds.bottom = bottomEdge(row);
         return bounds;

     *  Calculates _columnCount and _rowCount based on width, height,
     *  orientation, _requestedColumnCount, _requestedRowCount, _columnWidth, _rowHeight.
     *  _columnWidth and _rowHeight must be valid before calling.
     */
    private function calculateColumnAndRowCount(width:Number, height:Number, elementCount:int):void
    {

    
    /**
     *  @private 
     *  Calculates the column and row and returns the corresponding cell index.
     *  Index may be out of range if there's no element for the cell.
     */
    private function calculateDropCellIndex(x:Number, y:Number):Array
    {
        var xStart:Number = x - paddingLeft;
        var yStart:Number = y - paddingTop;
        var column:int = Math.floor(xStart / (_columnWidth + _horizontalGap));
        var row:int = Math.floor(yStart / (_rowHeight + _verticalGap));
        
        // Check whether x is closer to left column or right column:
        var midColumnLine:Number;
        var midRowLine:Number
        
