                                           textField_textModifiedHandler);                                       
             textField.removeEventListener("textReplace",
                                           textField_textModifiedHandler);                                       
+            textField.removeEventListener("textFieldWidthChange",
+                                          textField_textFieldWidthChangeHandler);
             removeChild(DisplayObject(textField));
             textField = null;
         }

            textField.addEventListener("textInsert",
                                       textField_textModifiedHandler);                                       
            textField.addEventListener("textReplace",
                                       textField_textModifiedHandler);                                       
                                       
            if (childIndex == -1)
                addChild(DisplayObject(textField));

        textFieldChanged(false);
    }

    /**
     *  @private
     *  Changing the width of the text field can cause the text to reflow.
     *  Make sure our local _textWidth and _textHeight are in sync with text field.
     */
    private function textField_textFieldWidthChangeHandler(event:Event):void
    {
        textFieldChanged(true);
    }   
}

}
