diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 61e14a80f2e7ab14c06e4f5164d33e14d8427d8f..95de34bdd3166dda4bbb2b59797753983ee413d4 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -3717,8 +3717,10 @@ static void smtp_thread(void* arg)
 					subnum=INVALID_SUB;
 					continue;
 				}
-				fread(msgbuf,(size_t)length,1,msgtxt);
-				msgbuf[length]=0;	/* ASCIIZ */
+				if(fread(msgbuf,(size_t)length,1,msgtxt) != 1)
+					*msgbuf = '\0';
+				else
+					msgbuf[length]=0;	/* ASCIIZ */
 
 				/* Do external JavaScript processing here? */