 
         if (BitFlagUtil.isSet(uint(textViewProperties), EDITABLE_PROPERTY_FLAG))
             newTextViewProperties.editable = textView.editable;
+
+        // enabled is special and is stored in the super class rather than in
+        // textViewProperties.  And if it changes, need to update the skin.
+        if (BitFlagUtil.isSet(uint(textViewProperties), ENABLED_PROPERTY_FLAG))
+        {
+            if (super.enabled != textView.enabled)
+            {
+                super.enabled = textView.enabled;
+                invalidateSkinState();
+            }
+        }
 
         if (BitFlagUtil.isSet(uint(textViewProperties), 
             HEIGHT_IN_LINES_PROPERTY_FLAG))

    /**
     *  @private
     */
    override public function set enabled(value:Boolean):void
    {
        if (value == enabled)
            return;
        
        super.enabled = value;
        invalidateSkinState();


                uint(newTextViewProperties), EDITABLE_PROPERTY_FLAG, true);
       }

        // enabled is special and comes from the super class rather than from
        // textViewProperties.
        textView.enabled = super.enabled;
        newTextViewProperties = BitFlagUtil.update(
            uint(newTextViewProperties), ENABLED_PROPERTY_FLAG, true);

        if (textViewProperties.heightInLines !== undefined)
        {
            textView.heightInLines = textViewProperties.heightInLines;
