             
             // add next node's maxCellHeight and rowGap
             indDiff = nextNode.rowIndex - node.rowIndex - 1;
-            nodeY = currentY = currentY + indDiff * (defaultRowHeight + rowGap);
+            currentY = currentY + indDiff * (defaultRowHeight + rowGap);
+            nodeY = currentY; 
             node = nextNode;
         }
         

                    typicalCellWidths.length = _columnCount;
                    typicalCellHeights.length = _columnCount;
                }

            }
        }
    }

    //----------------------------------
    //  rowGap
    //----------------------------------
    
    /**
     *  The gap between rows.
     * 
     *  @default 0 
     */
    public var rowGap:Number = 0;
    
    //----------------------------------
    //  columnGap
    //----------------------------------
    
    /**
     *  The gap between columns. 
     *      
     *  @default 0 
     */
    public var columnGap:Number = 0;
    
    //----------------------------------
    //  defaultRowHeight

    public function getContentWidth(columnCountOverride:int = -1):Number
    {
		const nCols:int = (columnCountOverride == -1) ? columnCount : columnCountOverride;
        var contentWidth:Number = 0;
        
        if (nCols > 1)
            contentWidth += (nCols - 1) * columnGap;
        
        // short circuit for no column widths set yet.
        if (!_columnWidths)
            return contentWidth + nCols * defaultColumnWidth;
        
        for (var i:int = 0; i < nCols; i++)
        {
