Index: /trunk/src/VBox/Runtime/r3/win/semmutex-win.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/semmutex-win.cpp	(revision 25655)
+++ /trunk/src/VBox/Runtime/r3/win/semmutex-win.cpp	(revision 25656)
@@ -191,7 +191,7 @@
 #endif
     }
-    int rc = WaitForSingleObjectEx(pThis->hMtx,
-                                   cMillies == RT_INDEFINITE_WAIT ? INFINITE : cMillies,
-                                   TRUE /*bAlertable*/);
+    DWORD rc = WaitForSingleObjectEx(pThis->hMtx,
+                                     cMillies == RT_INDEFINITE_WAIT ? INFINITE : cMillies,
+                                     TRUE /*fAlertable*/);
     RTThreadUnblocked(hThreadSelf, RTTHREADSTATE_MUTEX);
     switch (rc)
@@ -209,8 +209,10 @@
         case WAIT_ABANDONED:        return VERR_SEM_OWNER_DIED;
         default:
+            AssertMsgFailed(("%u\n",  rc));
+        case WAIT_FAILED:
         {
+            int rc2 = RTErrConvertFromWin32(GetLastError());
             AssertMsgFailed(("Wait on MutexSem %p failed, rc=%d lasterr=%d\n", MutexSem, rc, GetLastError()));
-            int rc2 = RTErrConvertFromWin32(GetLastError());
-            if (rc2 != 0)
+            if (rc2 != VINF_SUCCESS)
                 return rc2;
 
