diff --git a/src/sbbs3/getmsg.cpp b/src/sbbs3/getmsg.cpp
index 736cadfd15627b3393fe48090e287447ccc9137d..3ba36e0d3d8af3dd1ee918fab690ac044c1fa719 100644
--- a/src/sbbs3/getmsg.cpp
+++ b/src/sbbs3/getmsg.cpp
@@ -254,8 +254,13 @@ void sbbs_t::show_msg(smbmsg_t* msg, long mode, post_t* post)
 	if((txt=smb_getmsgtxt(&smb,msg,(console&CON_RAW_IN) ? 0:GETMSGTXT_PLAIN)) != NULL) {
 		if(!(console&CON_RAW_IN))
 			mode|=P_WORDWRAP;
-		putmsg(txt, mode);
+		char* p = txt;
+		truncsp(p);
+		SKIP_WHITESPACE(p);
+		putmsg(p, mode);
 		smb_freemsgtxt(txt);
+		if(column)
+			CRLF;
 	}
 	if((txt=smb_getmsgtxt(&smb,msg,GETMSGTXT_TAIL_ONLY))!=NULL) {
 		putmsg(txt, mode&(~P_WORDWRAP));