         if (numHorizontalSections > 0)
             paddingAndGapWidth += (getStyle("horizontalGap") * (numHorizontalSections - 1));
         
-        var verticalGap:Number = (labelDisplay && messageDisplay) ? getStyle("verticalGap") : 0;
+		var hasLabel:Boolean = labelDisplay && labelDisplay.text != "";
+		var hasMessage:Boolean = messageDisplay && messageDisplay.text != "";
+
+        var verticalGap:Number = (hasLabel && hasMessage) ? getStyle("verticalGap") : 0;
         var paddingHeight:Number = getStyle("paddingTop") + getStyle("paddingBottom");
         
         // Icon is on left

        var decoratorWidth:Number = 0;
        var decoratorHeight:Number = 0;

        var paddingLeft:Number   = getStyle("paddingLeft");
        var paddingRight:Number  = getStyle("paddingRight");
        var paddingTop:Number    = getStyle("paddingTop");
        var paddingBottom:Number = getStyle("paddingBottom");
        var horizontalGap:Number = getStyle("horizontalGap");
        var verticalAlign:String = getStyle("verticalAlign");
        var verticalGap:Number   = (labelDisplay && messageDisplay) ? getStyle("verticalGap") : 0;

        var vAlign:Number;
        if (verticalAlign == "top")

            iconWidth = iconDisplay.getLayoutBoundsWidth();
            iconHeight = iconDisplay.getLayoutBoundsHeight();
            
            // use vAlign to position the icon.
			var iconDisplayY:Number = Math.round(vAlign * (viewHeight - iconHeight)) + paddingTop;
            setElementPosition(iconDisplay, paddingLeft, iconDisplayY);
        }
        
