         if (majorAxis == VERTICAL)
         {
             setMajorSize(index, elt.getLayoutBoundsHeight());
-            var lw:Number = elt.getLayoutBoundsWidth();
-            var w:Number = Math.min(elt.getPreferredBoundsWidth(), lw);
-            if (lw == w)
-                minorSizeBasedOnLayoutSize = true;
+            var w:Number = Math.min(elt.getPreferredBoundsWidth(), elt.getLayoutBoundsWidth());
             
             // Use the _minorSize instead of the getter, since the getter returns maximum
             // of _minorSize and _defaultMinorSize.

        }
        else
        {
            setMajorSize(index, elt.getLayoutBoundsWidth());
            var lh:Number = elt.getLayoutBoundsHeight();
            var h:Number = Math.min(elt.getPreferredBoundsHeight(), lh);
            if (lh == h)
                minorSizeBasedOnLayoutSize = true;
            
            // Use the _minorSize instead of the getter, since the getter returns maximum
            // of _minorSize and _defaultMinorSize.
            _minorSize = Math.max(_minorSize, h);

    public function set minorSize(value:Number):void
    {
        _minorSize = value;
    }
    
    //----------------------------------
