                     elt = layoutTarget.getVirtualElementAt(index);
                     h = calculateElementHeight(elt, targetHeight, containerHeight);
                     y = calculateElementY(elt, h, containerHeight);
+                    elt.setLayoutBoundsSize(elt.getLayoutBoundsWidth(), h);
                     elt.setLayoutBoundsPosition(elt.getLayoutBoundsX(), y);
-                    elt.setLayoutBoundsSize(elt.getLayoutBoundsWidth(), h);
                 }
              }
         }

        var maxVisibleX:Number = minVisibleX + layoutTarget.width;
       
        updateLLV(layoutTarget);
        var startIndex:int = llv.indexOf(minVisibleX);
        if (startIndex == -1)
            return; 
            

        for (; (x < maxVisibleX) && (index < eltCount); index++)
        {
            var elt:ILayoutElement = layoutTarget.getVirtualElementAt(index);
            var w:Number = fixedColumnWidth; // NaN for variable width columns
            var h:Number = calculateElementHeight(elt, targetHeight, containerHeight); // can be NaN
            elt.setLayoutBoundsSize(w, h);
            w = elt.getLayoutBoundsWidth();        
            h = elt.getLayoutBoundsHeight();
            var y:Number = calculateElementY(elt, h, containerHeight);
            elt.setLayoutBoundsPosition(x, y);
            llv.cacheDimensions(index, elt);
            x += w + gap;
        }
