Index: win32ss/user/ntuser/msgqueue.c
===================================================================
--- win32ss/user/ntuser/msgqueue.c	(revision 65065)
+++ win32ss/user/ntuser/msgqueue.c	(working copy)
@@ -1689,8 +1689,21 @@
     MSG msg;
     PUSER_MESSAGE_QUEUE MessageQueue = pti->MessageQueue;
 
+    // First look for any buttons downs or ups before testing for the move.
+    if (pti->nCntsQBits[QSRosMouseButton])
+    {
+        if (co_MsqPeekHardwareMessage( pti,
+                                       Remove,
+                                       Window,
+                                       MsgFilterLow,
+                                       MsgFilterHigh,
+                                       QS_MOUSEBUTTON,
+                                       pMsg))
+           return TRUE; // Have one and return.
+    }
+
     if(!(MessageQueue->MouseMoved))
-        return FALSE;
+       return FALSE;
 
     if (!MessageQueue->ptiSysLock)
     {
