diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index 056f95b050fe95abf0044e5f2125a591573b90d9..35706768b9d1a049d48e866ce5c131298e125ff0 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -89,7 +89,7 @@ static BOOL RpcReadFile(HANDLE hFile, LPVOID buffer, DWORD bytesToRead, LPDWORD
 {
     struct rpcThreadArgs rpcargs;
     HANDLE thread;
-    DWORD threadId;
+    DWORD threadId, ret;
 
     rpcargs.returnValue = 0;
     rpcargs.lastError = GetLastError();
@@ -102,7 +102,8 @@ static BOOL RpcReadFile(HANDLE hFile, LPVOID buffer, DWORD bytesToRead, LPDWORD
 
     thread = CreateThread(NULL, 0, rpcThreadMain, (void *)&rpcargs, 0, &threadId);
     ok(thread != NULL, "CreateThread failed. %d\n", GetLastError());
-    ok(WaitForSingleObject(thread, INFINITE) == WAIT_OBJECT_0, "WaitForSingleObject failed with %d.\n", GetLastError());
+    ret = WaitForSingleObject(thread, INFINITE);
+    ok(ret == WAIT_OBJECT_0, "WaitForSingleObject failed with %d.\n", GetLastError());
     CloseHandle(thread);
 
     SetLastError(rpcargs.lastError);