diff --git a/controls/combo.c b/controls/combo.c
index 5f8e1cd8bef79f0a40c400590d0a6f2b88800118..47fa92972515840fa74130d436f7e830b5320452 100644
--- a/controls/combo.c
+++ b/controls/combo.c
@@ -1195,6 +1195,7 @@ static void COMBO_LButtonDown( LPHEADCOMBO lphc, LPARAM lParam )
        {
 	   /* got a click to cancel selection */
 
+           lphc->wState &= ~CBF_BUTTONDOWN;
            CBRollUp( lphc, TRUE, FALSE );
 	   if( !IsWindow( hWnd ) ) return;
 
@@ -1203,7 +1204,6 @@ static void COMBO_LButtonDown( LPHEADCOMBO lphc, LPARAM lParam )
                lphc->wState &= ~CBF_CAPTURE;
                ReleaseCapture();
            }
-           lphc->wState &= ~CBF_BUTTONDOWN;
        }
        else
        {