                 {
                     if (isNaN(propChanges[i].end["explicitWidth"]) && 
                         "explicitWidth" in target)
-                    target.explicitWidth = NaN;
+                    {
+                        target.explicitWidth = NaN;
+                        if (propChanges[i].end["percentWidth"] !== undefined && 
+                            "percentWidth" in target)
+                        {
+                            target.percentWidth = propChanges[i].end["percentWidth"];
+                        }
+                    }
                 }
                 if (propChanges[i].end["explicitHeight"] !== undefined)
                 {
                     if (isNaN(propChanges[i].end["explicitHeight"]) && 
                         "explicitHeight" in target)
-                    target.explicitHeight = NaN;
+                    {
+                        target.explicitHeight = NaN;
+                        if (propChanges[i].end["percentHeight"] !== undefined && 
+                            "percentHeight" in target)
+                        {
+                            target.percentHeight = propChanges[i].end["percentHeight"];
+                        }
+                    }
                 }
             }
         }

        targets:Array):void
    {
        super.applyEndValues(propChanges, targets);
        if (propChanges)
        {
            var n:int = propChanges.length;

        "left", "right", "top", "bottom"
    ];
    private static var RELEVANT_STYLES:Array = 
        ["left", "right", "top", "bottom", "percentWidth", "percentHeight"];

    //--------------------------------------------------------------------------
    //
