                 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 (BitFlagUtil.isSet(uint(textDisplayProperties), 
                              WIDTH_IN_CHARS_PROPERTY_FLAG))
        {
            newTextDisplayProperties.widthInChars = textDisplay.widthInChars;
        }
            
        // Switch from storing bit mask to storing properties.

        }
        
        if (BitFlagUtil.isSet(uint(textDisplayProperties), 
                              HEIGHT_IN_LINES_PROPERTY_FLAG) && richEditableText)
        {
            newTextDisplayProperties.heightInLines = richEditableText.heightInLines;
        }

        if (BitFlagUtil.isSet(uint(textDisplayProperties), 
