     //----------------------------------
     //  Text alignment helpers
     //----------------------------------
+    
     /**
      *  @private
      *  The height of the first line of text to the baseline of the bottom line
      *  of text.  Handles both single line and multiline text.
      */
+    private function get tightTextTopOffset():Number
+    {
+        updateTightTextSizes();
+        
+        return _tightTextTopOffset;
+    }
+    
+    /**
+     *  @private
+     *  The height of the first line of text to the baseline of the bottom line
+     *  of text.  Handles both single line and multiline text.
+     */
     private function get tightTextHeight() :Number
+    {
+        updateTightTextSizes();
+        
+        return _tightTextHeight;
+    }
+    
+    private function updateTightTextSizes():void
     {
         commitStyles();
         

    
    /**
     *  @private
     *  Used to keep track if this StyleableTextField is already in "scrolling mode"
     *  and what scroller it is using to scroll.  This is so we can respond appropriately
     *  to other touchInteractionStarting and touchInteractionEnd events.

        if (isNaN(newHeight))
            newHeight = getPreferredBoundsHeight();
        
        if (useTightTextBounds)
        {
            if (newHeight > 0)
            {
                var bottomOffset:Number = measuredTextSize.y - tightTextTopOffset - tightTextHeight;
                
                // when clipping, allow gutter to be outside of height
                // use 2x gutter (actual gutter is not part of tight text height)
                // when newHeight==1, actual visible height==3 (1px + 1x gutter)
                if (newHeight < tightTextHeight)
                    bottomOffset = StyleableTextField.TEXT_HEIGHT_PADDING;
                
                // re-add the top and bottom offsets.  (measuredTextSize.y - tightTextHeight) gives us
                // the sum of top and bottom offsets
                newHeight += (tightTextTopOffset + bottomOffset);
            }
        }
        
        this.height = newHeight;
    }
