                     // only measure with when dealing with content size
                     if (row.contentSize)
                     {   
-                        rowHeight = Math.max(row.height, extY + preferredHeight);
+                        rowHeight = Math.max(rowHeights[topIndex], extY + preferredHeight);
                         
                         if (constraintsDetermineHeight(elementInfo))
                             rowHeight = Math.max(rowHeight, extY + layoutElement.getMinBoundsHeight());

                        else if (col.contentSize)
                        {
                            contentCols.push(col);
                        }
                    }
                    

                hasContentSize = true;
                
                if (!isNaN(col.minWidth))
                    colWidths[i] = Math.ceil(Math.max(col.minWidth, 0));
                else
                    colWidths[i] = 0;
            }
            else if (!isNaN(col.explicitWidth))
            {
                var w:Number = col.width;
                
                if (!isNaN(col.minWidth))
                    w = Math.max(w, col.minWidth);
                
                if (!isNaN(col.maxWidth))
                    w = Math.min(w, col.maxWidth);
                
                colWidths[i] = Math.ceil(w);
            }
        }
        
