diff --git a/src/net.c b/src/net.c
index 286f1576..baf576d5 100644
--- a/src/net.c
+++ b/src/net.c
@@ -129,6 +129,12 @@ void terminate_connection(connection_t *c, bool report) {
 
 	if(outgoing)
 		do_outgoing_connection(outgoing);
+
+#ifndef HAVE_MINGW
+	/* Clean up dead proxy processes */
+
+	while(waitpid(-1, NULL, WNOHANG) > 0);
+#endif
 }
 
 /*