diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 7bb6e9f683e29be1161d165e07bf3a17048becb0..368a6ba7553b0df9dd05441f297d3b2828064202 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -547,6 +547,7 @@ static void __RPC_STUB dispatch_rpc(RPC_MESSAGE *msg)
     if (hr != S_OK)
     {
         ERR("no apartment found for ipid %s\n", debugstr_guid(&ipid));
+        HeapFree(GetProcessHeap(), 0, params);
         return RpcRaiseException(hr);
     }