diff --git a/engine/client/sys_win.c b/engine/client/sys_win.c
index 1a928d8d9..b31acf605 100644
--- a/engine/client/sys_win.c
+++ b/engine/client/sys_win.c
@@ -1033,6 +1033,14 @@ qboolean Sys_InitTerminal (void)
 	if (!AllocConsole())
 		return false;
 
+#ifndef SERVERONLY
+	if (qwclsemaphore)
+	{
+		CloseHandle(qwclsemaphore);
+		qwclsemaphore = NULL;
+	}
+#endif
+
 	//if we still have the splash screen, kill it
 	if (hwnd_dialog)
 		DestroyWindow(hwnd_dialog);