diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 8a10d4bc29957c1724e1ce864ecf18096ff9adc8..352f5b68cbc070d257efc12a182a185ba4957d63 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -3736,7 +3736,7 @@ void DLLCALL bbs_thread(void* arg)
 		if(FD_ISSET(telnet_socket,&socket_set)) 
 			client_socket = accept_socket(telnet_socket, (struct sockaddr *)&client_addr
 	        	,&client_addr_len);
-		else if(FD_ISSET(rlogin_socket,&socket_set)) {
+		else if(rlogin_socket!=INVALID_SOCKET && FD_ISSET(rlogin_socket,&socket_set)) {
 			client_socket = accept_socket(rlogin_socket, (struct sockaddr *)&client_addr
 	        	,&client_addr_len);
 			rlogin = true;