diff --git a/src/sbbs3/putmsg.cpp b/src/sbbs3/putmsg.cpp
index f52e92f86b8963f59a798766bfeb6b3dda6cb0d7..86288566ef9a6cf7cec7433f77f8f2ebe9754044 100644
--- a/src/sbbs3/putmsg.cpp
+++ b/src/sbbs3/putmsg.cpp
@@ -6,7 +6,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2013 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright Rob Swindell - http://www.synchro.net/copyright.html			*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -262,15 +262,15 @@ char sbbs_t::putmsg(const char *buf, long mode)
 				if(i)					/* if valid string, go to top */
 					continue; 
 			}
-			if(!(mode&P_CPM_EOF) || str[l]!=CTRL_Z) {
-				outchar(str[l]);
+			if(mode&P_CPM_EOF && str[l]==CTRL_Z)
+				break;
+			outchar(str[l]);
 #if 0
 				if(!(mode&P_HTML) && !exatr && !outchar_esc && lncntr && lbuflen && cols && ++col==cols)
 					lncntr++;
 				else
 					col=0;
 #endif
-			}
 			l++; 
 		} 
 	}