     {
         dispatchEvent(new AIREvent(AIREvent.APPLICATION_ACTIVATE));
         
+        // Only the initial WindowedApplication instance manages background framerate.
+        var isPrimaryApplication:Boolean = 
+            SystemManagerGlobals.topLevelSystemManagers[0] == systemManager;
+        
         // Restore throttled framerate if appropriate when application is activated.
-        if (prevActiveFrameRate >= 0 && stage)
+        if (prevActiveFrameRate >= 0 && stage && isPrimaryApplication)
         {
             stage.frameRate = prevActiveFrameRate;  
             prevActiveFrameRate = -1;

import mx.events.FlexNativeWindowBoundsEvent;
import mx.managers.DragManager;
import mx.managers.NativeDragManagerImpl;
import mx.styles.CSSStyleDeclaration;
import mx.styles.StyleManager;
import mx.styles.StyleProxy;

    public function WindowedApplication()
    {
        super();
        
        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
        addEventListener(FlexEvent.PREINITIALIZE, preinitializeHandler);
        addEventListener(FlexEvent.UPDATE_COMPLETE, updateComplete_handler);
