         var typicalElt:ILayoutElement = typicalLayoutElement;
         if (typicalElt)
         {
+            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+            {
+                // warning:  If the data for a renderer is an IVisualElement
+                // the typicalElt's data will still be valid, but the data
+                // will likely have been re-parented to an actual renderer
+                // causing new measurements here to be off.  This is supposedly
+                // compensated for when we factor in the renderers we have created
+                // into measurement.
+                if (typicalElt is ILayoutManagerClient)
+                    UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(typicalElt), true);
+            }
             var typicalWidth:Number = typicalElt.getPreferredBoundsWidth();
             var typicalHeight:Number = typicalElt.getPreferredBoundsHeight();
             llv.defaultMinorSize = typicalHeight;

            {
                for (index = startIndex; index <= endIndex; index++)
                {
                    elt = layoutTarget.getVirtualElementAt(index, NaN, NaN);
                    elt.setLayoutBoundsPosition(dx + elt.getLayoutBoundsX(), elt.getLayoutBoundsY());
                }
                contentWidth += dx;

                    {
                        measuredWidth -= llv.getMajorSize(i);
                        measuredWidth += element.getPreferredBoundsWidth();
                        measuredHeight = Math.max(measuredHeight, element.getPreferredBoundsHeight() + vPadding);
                    }
                }
            }
            
            layoutTarget.measuredWidth = measuredWidth;
            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
                layoutTarget.measuredHeight = measuredHeight;
            else
                layoutTarget.measuredHeight = llv.minorSize + vPadding;
                
            if (oldLength != -1)
                llv.length = oldLength;
        }
