diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index dbe3f549561db4eff10cfca1d4ebc270f91e11c9..23ecee4258a27fc99272d1254ff0e8541f8c150a 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -4624,7 +4624,7 @@ void DLLCALL ftp_server(void* arg)
 
 			if(client_socket == INVALID_SOCKET)
 			{
-				if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR) 
+				if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR || ERROR_VALUE == EINVAL) 
             		lprintf("0000 FTP socket closed while listening");
 				else
 					lprintf("0000 !ERROR %d accepting connection", ERROR_VALUE);
diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 95af9fc2dce9a5c17a9dfdf273bec8d507506b01..1f5ec0e7f5d31cb20221bf21d70579a0af5270f7 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -3427,7 +3427,7 @@ void DLLCALL mail_server(void* arg)
 
 				if(client_socket == INVALID_SOCKET)
 				{
-					if(ERROR_VALUE == ENOTSOCK)
+					if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINVAL)
             			lprintf("0000 SMTP socket closed while listening");
 					else
 						lprintf("%04d !ERROR %d accept failed", server_socket, ERROR_VALUE);
@@ -3477,7 +3477,7 @@ void DLLCALL mail_server(void* arg)
 
 				if(client_socket == INVALID_SOCKET)
 				{
-					if(ERROR_VALUE == ENOTSOCK)
+					if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINVAL)
             			lprintf("%04d POP3 socket closed while listening",pop3_socket);
 					else
 						lprintf("%04d !ERROR %d accept failed", pop3_socket, ERROR_VALUE);
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 0bbfd52d4edf7dda183dc4ffceeb9a26d9652178..dc46365663608a072fa5e41409739beb94f0e879 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -3803,7 +3803,7 @@ void DLLCALL bbs_thread(void* arg)
 		}
 
 		if(client_socket == INVALID_SOCKET)	{
-			if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR) {
+			if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR || ERROR_VALUE == EINVAL) {
             	lputs("BBS socket closed");
 				break;
 			}
diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index c8cfd63933ed4a1a9fdba6a26de169d1d368dd21..c90d85019d1fa9e9ffd407d29fc42c04100f0e0f 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -1614,7 +1614,7 @@ void DLLCALL services_thread(void* arg)
 					/* TCP */
 					if((client_socket=accept(service[i].socket
 						,(struct sockaddr *)&client_addr, &client_addr_len))==INVALID_SOCKET) {
-						if(ERROR_VALUE == ENOTSOCK)
+						if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINVAL)
             				lprintf("%04d %s socket closed while listening"
 								,service[i].socket, service[i].protocol);
 						else
diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 427ce44bba5e925e59433a4c1cfa30063625a56d..6389f52aebec73a6ac6ebb97c16ea44210ee498e 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -2283,7 +2283,7 @@ void DLLCALL web_server(void* arg)
 			}
 
 			if(client_socket == INVALID_SOCKET)	{
-				if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR) {
+				if(ERROR_VALUE == ENOTSOCK || ERROR_VALUE == EINTR || ERROR_VALUE == EINVAL) {
             		lprintf("Web Server socket closed");
 					break;
 				}