             textChanged = true;
         else if (cause == "content")
             contentChanged = true;
+            
+        mx_internal::bounds.width = NaN;
+        mx_internal::bounds.height = NaN;
     }
     
     //--------------------------------------------------------------------------

    /**
     *  @private
     *  Called when the TextFlow dispatches a 'damage' event
     *  to indicate it has been modified.
     */
    private function textFlow_damageHandler(
                            event:DamageEvent):void
    {
        //trace("damageHandler", "damageStart", event.damageStart, "damageLength", event.damageLength);
                
        // The text flow changed.  It could have been either/or content or
        // styles within the text flow.  Invalidate text so that it will be 
        // regenerated from the text flow.
        textInvalid = true;
        
        // Make sure composition is done at least once.  It will update
        // _content with the potentially modified contents of the text flow.
        stylesChanged = true;

        // Unless both width/height were specified, need to recalc size.
        if (isNaN(explicitWidth) || isNaN(explicitHeight))
            invalidateSize();
        
        invalidateDisplayList();  
    }    

        mx_internal::addTextLines(DisplayObjectContainer(displayObject));
        
		// Just recomposed so reset.
        mx_internal::stylesChanged = false;
        
        // Listen for "damage" events in case the textFlow is 
        // modified programatically.
