diff --git a/src/sbbs3/putmsg.cpp b/src/sbbs3/putmsg.cpp
index 45a0a08ca4bc13798b4bdac199bda996e1bf15e9..1917b7b57fd31cb28f2ba33d68aa712b6a35a4be 100644
--- a/src/sbbs3/putmsg.cpp
+++ b/src/sbbs3/putmsg.cpp
@@ -196,8 +196,13 @@ char sbbs_t::putmsg(char HUGE16 *str, long mode)
 					break; }
 			l+=2; }
 		else {
-			if(exatr && str[l]==LF) 	/* clear at newline for extra attr codes */
-				attr(LIGHTGRAY);
+			if(str[l]==LF) {
+				if(exatr) 	/* clear at newline for extra attr codes */
+					attr(LIGHTGRAY);
+				if(l && str[l-1]!=CR)	/* convert sole LF to CR/LF */
+					outchar(CR);
+			}
+
 			/* ansi escape sequence */
 			if(outchar_esc) {
 				if(str[l]=='A' || str[l]=='B' || str[l]=='H' || str[l]=='J'