                 labelDisplay.text = labelText;
             
             labelWidth = getElementPreferredWidth(labelDisplay);
-            labelHeight = labelDisplay.textTopToLastBaselineHeight;
+            labelHeight = getElementPreferredHeight(labelDisplay);
         }
         
         if (hasMessage)

            // if we have an explicit width, use it to calculate messageDisplay's width.  
            // Otherwise, we'll keep it the same width as it was before
            if (!isNaN(estimatedWidth))
                messageDisplay.width = estimatedWidth - paddingAndGapWidth - decoratorWidth - myIconWidth;
                
			var metrics:TextLineMetrics = messageDisplay.getLineMetrics(0);
            messageWidth = getElementPreferredWidth(messageDisplay);
            messageHeight = messageDisplay.textTopToLastBaselineHeight; 
        }
        
        myMeasuredWidth += Math.max(labelWidth, messageWidth);

		if (messageDisplay)
		{
			var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
			setElementPosition(messageDisplay, labelComponentsX, messageY);
		}
        
