 		
 		// Listen for "damage" events in case the textFlow is 
 		// modified programatically.
-		if (factory is TextFlowTextLineFactory && _textFlow != null)
-		{
-			_textFlow.addEventListener(DamageEvent.DAMAGE, 
-									   textFlow_damageHandler);
-		}  
+        ignoreDamageEvent = false;
 		
 		// Created all lines.
 		return true;      

	{
		super.composeTextLines(width, height);
		
		// Don't want this handler firing when we're re-composing the text lines.
		if (factory is TextFlowTextLineFactory && _textFlow != null)
		{
			_textFlow.removeEventListener(DamageEvent.DAMAGE,
										  textFlow_damageHandler);
		}
		
		
		// Set the composition bounds to be used by createTextLines().
		// If the width or height is NaN, it will be computed by this method
		// by the time it returns.

    {
        textLines.push(textLine);
    }

    /**
     *  @private
     *  Make sure to remove the damage handler before resetting the text flow.
     */
    private function removeDamageHandler():void
    {
        // Could check factory is TextFlowTextLineFactory but be safe and 
        // try to remove whenever there is a text flow.
        if (_textFlow != null)
        {
            _textFlow.removeEventListener(DamageEvent.DAMAGE,
                textFlow_damageHandler);
        }
    }

    //--------------------------------------------------------------------------
    //
    //  Event handlers
