diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 1770fd2102855152d8e41e4b12167f4b097219fd..5b0c85824651c6b0ae2950714fc9126a68d54de4 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -2461,6 +2461,11 @@ static void smtp_thread(void* arg)
 				lprintf(LOG_INFO,"%04d SMTP End of message (body: %lu lines, %lu bytes, header: %lu lines, %lu bytes)"
 					, socket, lines, ftell(msgtxt)-hdr_len, hdr_lines, hdr_len);
 
+				if(!socket_check(socket, NULL, NULL, 0)) {
+					lprintf(LOG_ERR,"%04d !SMTP sender disconnected (premature evacuation)", socket);
+					continue;
+				}
+
 				stats.msgs_received++;
 
 				/* Twit-listing (sender's name and e-mail addresses) here */