                 h += layoutGap;
         }
         
+        // minimums
+        measuredMinWidth = w
+        measuredMinHeight = h;
+        
         w += layoutPaddingLeft + layoutPaddingRight;
         h += layoutPaddingTop + layoutPaddingBottom;
         
+        // measured sizes are no smaller than spec for touch-based sizes
         measuredWidth = Math.max(w, layoutMeasuredWidth);
-        measuredMinHeight = measuredHeight = Math.max(h, layoutMeasuredHeight);
-        measuredMinWidth = iconWidth + layoutPaddingLeft + layoutPaddingRight;
+        measuredHeight = Math.max(h, layoutMeasuredHeight);
     }
     
     /**

     */  
    protected var useIconStyle:Boolean = true;
    
    //--------------------------------------------------------------------------
    //
    //  Layout variables
    //
    //--------------------------------------------------------------------------
    
    protected var layoutBorderSize:uint;
    
    protected var layoutGap:int;
    
    protected var layoutPaddingLeft:int;
    
    protected var layoutPaddingRight:int;
    
    protected var layoutPaddingTop:int;
    
    protected var layoutPaddingBottom:int;
    
    //--------------------------------------------------------------------------
    //
    //  Overridden properties
    //
    //--------------------------------------------------------------------------
    
    /** 
     * @copy spark.skins.spark.ApplicationSkin#hostComponent
     */
    public var hostComponent:ButtonBase; // SkinnableComponent will popuplate
    
    //--------------------------------------------------------------------------
    //

            
            if (textWidth > 0)
            {
                // label width is constrained to left and right edges
                labelWidth = Math.max(viewWidth - layoutPaddingLeft - layoutPaddingRight, 0);
                
                // label height is constrained to available height after icon, padding and gap heights
                labelHeight = Math.max(viewHeight - iconHeight - layoutPaddingTop - layoutPaddingBottom - verticalGap, 0);
                labelHeight = Math.min(labelHeight, textHeight);
            }
            else
            {
