diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 1b48a359c09fd071a2f46eaff9590f1a9cde0157..8e01944a42b6dc6cb4599c96d87c3d2cce45f767 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -1993,6 +1993,8 @@ void output_thread(void* arg)
 		tv.tv_usec=1000;
 
 		FD_ZERO(&socket_set);
+		if(sbbs->client_socket==INVALID_SOCKET)		// Make the race condition less likely to actually happen... TODO: Fix race
+			continue;
 		FD_SET(sbbs->client_socket,&socket_set);
 
 		i=select(sbbs->client_socket+1,NULL,&socket_set,NULL,&tv);
@@ -5398,6 +5400,3 @@ NO_PASSTHRU:
 	} while(!terminate_server);
 
 }
-
-
-