        switch(verticalAlign)
        {
            case VerticalAlign.MIDDLE: 
-               return (containerHeight - eltHeight) * 0.5;
+               return Math.round((containerHeight - eltHeight) * 0.5);
            case VerticalAlign.BOTTOM: 
                return containerHeight - eltHeight;
        }

        var maxY:Number = 0;     
        var firstColInView:int = -1;
        var lastColInView:int = -1;
                
        for (var index:int = 0; index < count; index++)
        {
            layoutElement = layoutTarget.getElementAt(index);
            if (!layoutElement || !layoutElement.includeInLayout)
                continue;
                
            // Set the layout element's position
            var y:Number = (containerHeight - layoutElement.getLayoutBoundsHeight()) * vAlign;
            layoutElement.setLayoutBoundsPosition(x, y);
            
            // Update maxX,Y, first,lastVisibleIndex, and x
            var dx:Number = layoutElement.getLayoutBoundsWidth();
            var dy:Number = layoutElement.getLayoutBoundsHeight();

        var visibleColumns:uint = 0;
        var minVisibleX:Number = layoutTarget.horizontalScrollPosition;
        var maxVisibleX:Number = minVisibleX + targetWidth

        // Finally, position the LayoutElements and find the first/last
        // visible indices, the content size, and the number of 
        // visible elements. 
