diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index 08b5776aebdd63785df5102343dafca2522b198e..8c95b7eb77e798c1cad0ea941a4125a9b5c4ab26 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -1958,6 +1958,7 @@ void RPC_Stop(void)
 {
     RpcMgmtStopServerListening(NULL);
     RpcServerUnregisterIf(svcctl_v2_0_s_ifspec, NULL, TRUE);
+    RpcMgmtWaitServerListen();
 
     CloseThreadpoolCleanupGroupMembers(cleanup_group, TRUE, NULL);
     CloseThreadpoolCleanupGroup(cleanup_group);