         {
             updateErrorSkin();
             errorStringChanged = false;
+        }
+        
+        if (skinDestructionPolicyChanged)
+        {
+            if (skinDestructionPolicy == "auto")
+            {
+                addEventListener(Event.ADDED_TO_STAGE, adddedToStageHandler);
+                addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
+            }
+            else
+            {
+                removeEventListener(Event.ADDED_TO_STAGE, adddedToStageHandler);
+                removeEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
+            }
+            
+            skinDestructionPolicyChanged = false;
         }
     }
 

    //
    //--------------------------------------------------------------------------
    
    /**
     * @private 
     * 

        }
    }
    
    /**
     *  @private
     */
    private function adddedToStageHandler(event:Event):void
    {
        if (skin == null)
        {
            attachSkin();
        }
    }
    
    /**
     *  @private
     */
    private function removedFromStageHandler(event:Event):void
    {
        detachSkin();
    }
    
    //--------------------------------------------------------------------------
    //
    //  Overridden methods
