         
         // TBD: don't assume typicalLayoutElement is set, use 1st row...
         var typicalWidth:Number = typicalLayoutElement.getPreferredBoundsWidth();
-        var typicalHeight:Number = typicalLayoutElement.getPreferredBoundsWidth();
+        var typicalHeight:Number = typicalLayoutElement.getPreferredBoundsHeight();
         llv.length = layoutTarget.numLayoutElements;        
         llv.minorSize = Math.max(llv.minorSize, typicalWidth);
         llv.defaultMajorSize = typicalHeight;

            }            

            preferredWidth = Math.max(preferredWidth, li.getPreferredBoundsWidth());
            preferredHeight += li.getPreferredBoundsWidth(); 
            
            var vrr:Boolean = (reqRows != -1) && (visibleRows < reqRows);

            if (vrr || (reqRows == -1))
            {
                var mw:Number =  hasPercentWidth(li) ? li.getMinBoundsWidth() : li.getPreferredBoundsWidth();
                var mh:Number = hasPercentHeight(li) ? li.getMinBoundsHeight() : li.getPreferredBoundsWidth();                   
                minWidth = Math.max(mw, minWidth);
                minHeight += mh;
            }

        else if (!target || (target.numLayoutElements <= 0))
            return 0;
        else if (typicalLayoutElement)
            return typicalLayoutElement.getPreferredBoundsHeight();
        else
            return target.getLayoutElementAt(0).getPreferredBoundsHeight();
    }

    /**
