             return;
         }
         
-        mouseCaptured = false;
+		// If faking down state, let's not interrupt it because of a mouseUp somewhere 
+		// else on the screen
+		if (!(mouseUpDeselectTimer && mouseUpDeselectTimer.running))
+			mouseCaptured = false;
         
         // If the mouseDownSelectTimer is still running, 
         // we don't want to ever go in to the down state in this case, so stop it

     *  the renderer was actually selected.
     */
    private var mouseUpDeselectTimer:Timer;
    
    /**
     *  @private
     *  Whether the component using this InteractionStateDetector should 

    private function mouseUpDeselectTimer_timerCompleteHandler(event:TimerEvent = null):void
    {
        mouseCaptured = false;
		
		// if we got a rollout, we should honor it now
		if (rollOutWhileFakingDownState)
		{
			rollOutWhileFakingDownState = false;
			hovered = false;
		}
    }
    
    /**
