             if (isNaN(left) && isNaN(right) &&
                 isNaN(LayoutElementHelper.parseConstraintValue(layoutElement.horizontalCenter)))
             {
-                extX += layoutElement.getLayoutPositionX();
+                extX += layoutElement.getLayoutBoundsX();
             }
             else
             {

                extY += isNaN(bottom) ? 0 : bottom;
            }

            width = Math.max(width, extX + layoutElement.getPreferredWidth());
            height = Math.max(height, extY + layoutElement.getPreferredHeight());

            var elementMinWidth:Number = constraintsDetermineWidth(layoutElement) ? layoutElement.getMinWidth() : layoutElement.getPreferredWidth();
            var elementMinHeight:Number = constraintsDetermineHeight(layoutElement) ? layoutElement.getMinHeight() : layoutElement.getPreferredHeight();

            minWidth = Math.max(minWidth, extX + elementMinWidth);
            minHeight = Math.max(minHeight, extY + elementMinHeight);

            else if (!isNaN(right))
                childX = unscaledWidth - elementWidth - right;
            else // since setting actual size might have moved the actual position, we need to reset here            
            	childX = layoutElement.getLayoutBoundsX();

            // Vertical position
            if (!isNaN(vCenter))
