diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c index 58a3272bae1..06c24d3f054 100644 --- a/dlls/ole32/rpc.c +++ b/dlls/ole32/rpc.c @@ -290,7 +290,10 @@ static HRESULT WINAPI RpcChannelBuffer_SendReceive(LPRPCCHANNELBUFFER iface, RPC if (apt) apartment_release(apt); if (hr == S_OK) - hr = CoWaitForMultipleHandles(0, INFINITE, 1, ¶ms->handle, &index); + { + if (WaitForSingleObject(params->handle, 0)) + hr = CoWaitForMultipleHandles(0, INFINITE, 1, ¶ms->handle, &index); + } CloseHandle(params->handle); if (hr == S_OK) hr = params->hr;