             fade.play();
             
             var sm:ISystemManager = o.systemManager;
-            var awm:IActiveWindowManager = 
-                IActiveWindowManager(sm.getImplementation("mx.managers::IActiveWindowManager"));
-            // don't remove blur unless this is the last modal window
-            if (awm.numModalWindows == 1)
+            
+            // don't remove blur unless this is the first modal window to put up the blur
+            if (blurOwners[sm] != null && blurOwners[sm] == o.owner)
             {
                 
                 // Blur effect on the application

            
            if (blurAmount)
            {
                // Ensure we blur the appropriate top level document.
                if (DisplayObject(sm).parent is Stage)
                {

import flash.geom.Point;
import flash.geom.Rectangle;
import flash.system.Capabilities;
import flash.utils.Dictionary;

import mx.automation.IAutomationObject;
import mx.core.FlexGlobals;
