diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 74f63a2f19bf6a8940ec171a1598654be3d8c90a..7da5d37b9e4205517b043b33119ffe97bd55acaa 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -1876,8 +1876,8 @@ static uchar* get_header_field(uchar* buf, char* name, size_t maxlen)
 		return NULL;
 
 	len = p-buf;
-	if(len > maxlen)
-		len = maxlen;
+	if(len >= maxlen)
+		len = maxlen-1;
 	sprintf(name,"%.*s",len,buf);
 	truncsp(name);