diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index f3e96b5bf4c17bd4519c3ad6982a89bfe1d5b4fd..cb575f7ade63f60348cc53675aba7e79bd056d40 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -546,10 +546,11 @@ bool sbbs_t::writemsg(const char *fname, const char *top, char *title, long mode
 		|| (subnum!=INVALID_SUB && !(cfg.sub[subnum]->misc&SUB_NOUSERSIG))) {
 		SAFEPRINTF2(str,"%suser/%04u.sig",cfg.data_dir,useron.number);
 		FILE* sig;
-		if(fexist(str) && (sig=fopen(str,"rb"))!=NULL) {
+		if(fexist(str) && (sig=fopen(str,"r"))!=NULL) {
 			while(!feof(sig)) {
 				if(!fgets(str,sizeof(str),sig))
 					break;
+				truncsp(str);
 				l+=fprintf(stream,"%s\r\n",str);
 				lines++;		/* line counter */
 			}