         for (; (y < maxVisibleY) && (index < eltCount); index++)
         {
             var elt:ILayoutElement = layoutTarget.getLayoutElementAt(index);
-            var h:Number = elt.getPreferredBoundsWidth();
+            var h:Number = elt.getPreferredBoundsHeight();
             var w:Number = calculateElementWidth(elt, targetWidth, contentWidth);
             var x:Number = calculateElementX(elt, w, contentWidth);
             elt.setLayoutBoundsPosition(x, y);
-            elt.setLayoutBoundsSize(w, elt.getPreferredBoundsWidth());            
+            elt.setLayoutBoundsSize(w, elt.getPreferredBoundsHeight());            
             llv.cacheDimensions(index, elt);
             y += h + gap;
         }

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

    /**

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