                 uint(newTextDisplayProperties), TEXT_FLOW_PROPERTY_FLAG, true);
         }
 
-        if (textDisplayProperties.widthInChars !== undefined)
-        {
-            textDisplay.widthInChars = textDisplayProperties.widthInChars;
+        if (textDisplayProperties.widthInChars !== undefined && richEditableText)
+        {
+            richEditableText.widthInChars = textDisplayProperties.widthInChars;
             newTextDisplayProperties = BitFlagUtil.update(
                 uint(newTextDisplayProperties), 
                 WIDTH_IN_CHARS_PROPERTY_FLAG, true);

    {
        if (textDisplay)
        {
            textDisplay.heightInLines = value;
            textDisplayProperties = BitFlagUtil.update(
                uint(textDisplayProperties), 
                HEIGHT_IN_LINES_PROPERTY_FLAG, true);

     */
    mx_internal function getWidthInChars():Number
    {
        var richEditableText:RichEditableText = textDisplay as RichEditableText;

        if (richEditableText)
            return richEditableText.widthInChars
            
        // want the default to be NaN
        var v:* = textDisplayProperties.widthInChars;
