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

            else
            {
                sizeLayoutElement(layoutElement, height, verticalAlign, 
                               restrictedHeight, NaN, variableColumnWidth, cw);
                
                spaceToDistribute -= layoutElement.getLayoutBoundsWidth();
            } 

                                                                spaceToDistribute,
                                                                totalPercentWidth,
                                                                childInfoArray);
            var roundOff:Number = 0;
            for each (childInfo in childInfoArray)
            {
                // Make sure the calculated percentages are rounded to pixel boundaries
                var childSize:int = Math.round(childInfo.size + roundOff);
                roundOff += childInfo.size - childSize;

                sizeLayoutElement(childInfo.layoutElement, height, verticalAlign, 
                                  restrictedHeight, childSize, 
                                  variableColumnWidth, cw); 
            }
        }
        return spaceToDistribute;
