diff --git a/src/sbbs3/con_out.cpp b/src/sbbs3/con_out.cpp
index 9a12afb431c884a7f71450b7772607be7f72597d..81e585f88b426cbf8c742acd263a8592b1f45a11 100644
--- a/src/sbbs3/con_out.cpp
+++ b/src/sbbs3/con_out.cpp
@@ -505,9 +505,9 @@ void sbbs_t::backspace(int count)
 /****************************************************************************/
 long sbbs_t::term_supports(long cmp_flags)
 {
-	long flags = ((sys_status&SS_USERON) && !(useron.misc&AUTOTERM)) ? useron.misc : autoterm;
+	long flags = ((sys_status&(SS_USERON|SS_NEWUSER)) && !(useron.misc&AUTOTERM)) ? useron.misc : autoterm;
 
-	if((sys_status&SS_USERON) && (useron.misc&AUTOTERM))
+	if((sys_status&(SS_USERON|SS_NEWUSER)) && (useron.misc&AUTOTERM))
 		flags |= useron.misc & (NO_EXASCII | SWAP_DELETE | COLOR | ICE_COLOR | MOUSE);
 
 	return(cmp_flags ? ((flags&cmp_flags)==cmp_flags) : (flags&TERM_FLAGS));
diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp
index 44aeb022bcde4d01b4dfeeb98888c01425dbb800..decd830eb8addc37fb951d9dc617a922beecc187 100644
--- a/src/sbbs3/newuser.cpp
+++ b/src/sbbs3/newuser.cpp
@@ -453,6 +453,8 @@ BOOL sbbs_t::newuser()
 		SAFEPRINTF2(str,"%suser/%4.4u.dat",cfg.data_dir,useron.number);
 		create_sif_dat(cfg.new_sif,str); 
 	}
+	sys_status|=SS_NEWUSER;
+
 	if(!(cfg.uq&UQ_NODEF))
 		maindflts(&useron);
 
@@ -492,7 +494,6 @@ BOOL sbbs_t::newuser()
 	user_event(EVENT_NEWUSER);
 	getuserdat(&cfg,&useron);	// In case event(s) modified user data
 	logline("N+","Successful new user logon");
-	sys_status|=SS_NEWUSER;
 
 	return(TRUE);
 }