diff --git a/src/bin/pg_dump/dumputils.c b/src/bin/pg_dump/dumputils.c
index c1a35b2ce806017d2f344e1061fc85a5b2986d2e..b662ad107e56e1a7b1006b83ebcb8b688f5bd6bb 100644
--- a/src/bin/pg_dump/dumputils.c
+++ b/src/bin/pg_dump/dumputils.c
@@ -1332,5 +1332,10 @@ exit_nicely(int code)
 		(*on_exit_nicely_list[i].function)(code,
 			on_exit_nicely_list[i].arg);
 
+#ifdef WIN32
+	if (parallel_init_done && GetCurrentThreadId() != mainThreadId)
+		ExitThread(code);
+#endif
+
 	exit(code);
 }