diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp
index 839a19b5f65df60ad679d627d707d05835299f72..f24752d3e06ade7b76934e6bafb9ca5c2f72c24f 100644
--- a/src/sbbs3/newuser.cpp
+++ b/src/sbbs3/newuser.cpp
@@ -346,13 +346,14 @@ BOOL sbbs_t::newuser()
 	if(i<cfg.total_xedits)
 		useron.xedit=i+1;
 
-	if(cfg.total_xedits && cfg.uq&UQ_XEDIT 
-		&& !noyes("Use an external text editor")) {
-		if(useron.xedit) useron.xedit--;
-		for(i=0;i<cfg.total_xedits;i++)
-			uselect(1,i,"External Editor",cfg.xedit[i]->name,cfg.xedit[i]->ar);
-		if((int)(i=uselect(0,useron.xedit,0,0,0))>=0)
-			useron.xedit=i+1; 
+	if(cfg.total_xedits && cfg.uq&UQ_XEDIT) {
+		if(yesno("Use an external message editor")) {
+			for(i=0;i<cfg.total_xedits;i++)
+				uselect(1,i,"External Editor",cfg.xedit[i]->name,cfg.xedit[i]->ar);
+			if((int)(i=uselect(0,useron.xedit ? useron.xedit-1 : 0,0,0,0))>=0)
+				useron.xedit=i+1; 
+		} else
+			useron.xedit=0;
 	}
 
 	if(cfg.total_shells>1 && cfg.uq&UQ_CMDSHELL) {