             var width:Number = isNaN(fixedColumnWidth) ? elt.getPreferredBoundsWidth() : fixedColumnWidth;
             preferredHeight = Math.max(preferredHeight, height);
             preferredWidth += width;
-            minHeight = Math.max(minHeight, (isNaN(elt.percentHeight)) ? height : elt.getMinBoundsHeight());
+            var flexibleHeight:Boolean = !isNaN(elt.percentHeight) || verticalAlign == VerticalAlign.JUSTIFY;
+            minHeight = Math.max(minHeight, flexibleHeight ? elt.getMinBoundsHeight() : height);
             minWidth += (isNaN(elt.percentWidth)) ? width : elt.getMinBoundsWidth();
 
             eltInLayoutCount += 1;

            }
        }

        // If we're justifying the elements, then all heights should be set to
        // targetHeight.  If we're content justifying the elements, then 
        // all heights should be set to the contentHeight.
        // Otherwise restrictedHeight is ignored in distributedWidth.
        var restrictedHeight:Number;
        if (verticalAlign == VerticalAlign.JUSTIFY)
            restrictedHeight = targetHeight;
        else if (verticalAlign == VerticalAlign.CONTENT_JUSTIFY)
            restrictedHeight = containerHeight;

        distributeWidth(targetWidth, targetHeight, restrictedHeight);    
        
        // default to top (0)
        var vAlign:Number = 0;

        layoutTarget.measuredHeight = llv.minorSize + vPadding;

        layoutTarget.measuredMinWidth = layoutTarget.measuredWidth;
        layoutTarget.measuredMinHeight = (verticalAlign == VerticalAlign.JUSTIFY) ? 
                llv.minMinorSize + vPadding : layoutTarget.measuredHeight;
    }

    /**
