     {
         trackScrolling = false;
 
-        systemManager.removeEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
             MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true);
-        systemManager.removeEventListener(
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
             MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true);
         // in case we go offscreen
-        systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, 
-                            stage_scrollTrack_mouseMoveHandler);
-        // in case we go offscreen
-        systemManager.removeEventListener(MarshalMouseEvent.MOUSE_UP, 
-                            scrollTrack_mouseLeaveHandler);
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(
+			MarshalMouseEvent.MOUSE_UP, scrollTrack_mouseLeaveHandler);
 
         if (trackScrollTimer)
             trackScrollTimer.reset();


        trackScrolling = true;
        
        systemManager.addEventListener(
            MouseEvent.MOUSE_UP, scrollTrack_mouseUpHandler, true);
        systemManager.addEventListener(
            MouseEvent.MOUSE_MOVE, scrollTrack_mouseMoveHandler, true);
        // in case we go offscreen
        systemManager.addEventListener(MarshalMouseEvent.MOUSE_MOVE, 
                            stage_scrollTrack_mouseMoveHandler);
        // in case we go offscreen
        systemManager.addEventListener(MarshalMouseEvent.MOUSE_UP, 
                            scrollTrack_mouseLeaveHandler);
        
        var pt:Point = new Point(event.localX, event.localY);
        pt = event.target.localToGlobal(pt);

        oldPosition = NaN;
    }

    /**
     *  @private
     *  Stop repeating events because the track is no longer pressed
