diff --git a/sendmail/srvrsmtp.c b/sendmail/srvrsmtp.c
index ba636a8..46c5356 100644
--- a/sendmail/srvrsmtp.c
+++ b/sendmail/srvrsmtp.c
@@ -159,6 +159,26 @@
 #define SKIP_SPACE(s)	while (SM_ISSPACE(*s))	\
 				(s)++
 
+static inline void
+message1(fmt)
+       char *fmt;
+{
+       if (strchr(fmt, '%') == NULL)
+               message(fmt, NULL);
+       else
+               message("%s", fmt);
+}
+
+static inline void
+usrerr1(fmt)
+       char *fmt;
+{
+       if (strchr(fmt, '%') == NULL)
+               usrerr(fmt, NULL);
+       else
+               usrerr("%s", fmt);
+}
+
 #if _FFR_EAI
 /*
 **  ADDR_IS_ASCII -- check whether an address is 100% printable ASCII
@@ -638,13 +658,13 @@
 				bool tsave = QuickAbort;		\
 									\
 				QuickAbort = false;			\
-				usrerr(response);			\
+				usrerr1(response);			\
 				QuickAbort = tsave;			\
 				e->e_sendqueue = NULL;			\
 				goto doquit;				\
 			}						\
 			else						\
-				usrerr(response);			\
+				usrerr1(response);			\
 			break;						\
 									\
 		  case SMFIR_REJECT:					\
@@ -1011,7 +1031,7 @@
 	else if (strncmp(nullserver, "421 ", 4) == 0)
 	{
 		/* Can't use ("%s", ...) due to message() requirements */
-		message(nullserver);
+		message1(nullserver);
 		goto doquit;
 	}
 
@@ -1953,7 +1973,7 @@
 					if (ISSMTPREPLY(nullserver))
 					{
 						/* Can't use ("%s", ...) due to usrerr() requirements */
-						usrerr(nullserver);
+						usrerr1(nullserver);
 					}
 					else
 					{
@@ -2561,7 +2581,7 @@
 					if (response != NULL)
 					{
 						/* Can't use ("%s", ...) due to usrerr() requirements */
-						usrerr(response);
+						usrerr1(response);
 					}
 					else
 					{
@@ -3800,7 +3820,7 @@
 #endif
 
 			/* Can't use ("%s", ...) due to usrerr() requirements */
-			usrerr(response);
+			usrerr1(response);
 			if (strncmp(response, "421 ", 4) == 0
 			    || strncmp(response, "421-", 4) == 0)
 			{
@@ -3922,7 +3942,7 @@
 				(void) extenhsc(response + 4, ' ', e->e_enhsc);
 #endif
 			/* Can't use ("%s", ...) due to usrerr() requirements */
-			usrerr(response);
+			usrerr1(response);
 			if (strncmp(response, "421 ", 4) == 0
 			    || strncmp(response, "421-", 4) == 0)
 				rv = false;
