diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index 7eed04926132eb7c05333d9692aeacec1081c04e..f98f5cf84053a365dc5ec3232a77508085807ff1 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -246,13 +246,12 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
 		}
 		else {
 			c=LEN_TITLE;
+			if(mode&WM_QWKNET
+				|| (subnum!=INVALID_SUB 
+					&& (cfg.sub[subnum]->misc&(SUB_QNET|SUB_INET|SUB_FIDO))==SUB_QNET))
+				c=25;
 			bputs(text[SubjectPrompt]); 
 		}
-		if(!(mode&(WM_EMAIL|WM_NETMAIL)) && !(mode&WM_FILE)
-			&& cfg.sub[subnum]->misc&(SUB_QNET /* |SUB_PNET */ ))
-			c=25;
-		if(mode&WM_QWKNET)
-			c=25;
 		if(!getstr(title,c,mode&WM_FILE ? K_LINE|K_UPPER : K_LINE|K_EDIT|K_AUTODEL)
 			&& useron_level && useron.logons) {
 			free(buf);