         {
             bounds = getBounds(DisplayObject(this));
         
-            var s:Rectangle = screen;        
+            var sandboxRoot:DisplayObject = getSandboxRoot();
+            var s:Rectangle = screen.clone();
+            s.topLeft = sandboxRoot.localToGlobal(screen.topLeft);
+            s.bottomRight = sandboxRoot.localToGlobal(screen.bottomRight);
             var pt:Point = new Point(Math.max(0, bounds.x), Math.max(0, bounds.y));
             pt = localToGlobal(pt);
             bounds.x = pt.x;

            preloaderBackgroundAlpha,
            preloaderBackgroundImage,
            preloaderBackgroundSize,
            isStageRoot ? screen.width : loaderInfo.width,
            isStageRoot ? screen.height : loaderInfo.height,
            null,
            null,
            rslItemList,

            Loader(parent).contentLoaderInfo.applicationDomain :
            info()["currentDomain"] as ApplicationDomain;

        // Initialize the preloader.
        preloader.initialize(
            usePreloader,
