diff --git a/src/sbbs3/bulkmail.cpp b/src/sbbs3/bulkmail.cpp
index 19db65ecb6bed071c1f035c641aab1ac2d0ac9ec..00f5243bf1d4220d0d80761ee225f3eba801e128 100644
--- a/src/sbbs3/bulkmail.cpp
+++ b/src/sbbs3/bulkmail.cpp
@@ -139,7 +139,7 @@ bool sbbs_t::bulkmail(uchar *ar)
 	else
 		while(online) {
 			bputs(text[EnterAfterLastDestUser]);
-			if(!getstr(str,LEN_ALIAS,K_UPRLWR))
+			if(!getstr(str,LEN_ALIAS,cfg.uq&UQ_NOUPRLWR ? K_NONE:K_UPRLWR))
 				break;
 			if((i=finduser(str))!=0) {
 				if((x=bulkmailhdr(&smb, &msg, i))!=SMB_SUCCESS) {
diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp
index 345a56474a7ebbb4678bdb8e4a59f093f7ad98c2..0e1cc077e0f7b4ca95efedf63fedc61d47e87869 100644
--- a/src/sbbs3/logon.cpp
+++ b/src/sbbs3/logon.cpp
@@ -50,6 +50,7 @@ bool sbbs_t::logon()
 	char 	tmp[512];
 	int 	file;
 	uint	i,j,mailw;
+	long	kmode;
 	ulong	totallogons;
 	node_t	node;
 	struct	tm	tm;
@@ -315,6 +316,10 @@ bool sbbs_t::logon()
 			hangup();
 			return(false); 
 		}
+		kmode=(cfg.uq&UQ_NOEXASC);
+		if(!(cfg.uq&UQ_NOUPRLWR))
+			kmode|=K_UPRLWR;
+
 		if(!(useron.rest&FLAG('G'))) {
 			if(!useron.name[0] && ((cfg.uq&UQ_ALIASES && cfg.uq&UQ_REALNAME)
 				|| cfg.uq&UQ_COMPANY))
@@ -323,7 +328,7 @@ bool sbbs_t::logon()
 						bputs(text[EnterYourRealName]);
 					else
 						bputs(text[EnterYourCompany]);
-					getstr(useron.name,LEN_NAME,K_UPRLWR|(cfg.uq&UQ_NOEXASC));
+					getstr(useron.name,LEN_NAME,kmode);
 					if(cfg.uq&UQ_ALIASES && cfg.uq&UQ_REALNAME) {
 						if(trashcan(useron.name,"name") || !useron.name[0]
 							|| !strchr(useron.name,' ')
@@ -357,13 +362,13 @@ bool sbbs_t::logon()
 			if(cfg.uq&UQ_LOCATION && !useron.location[0])
 				while(online) {
 					bputs(text[EnterYourCityState]);
-					if(getstr(useron.location,LEN_LOCATION,K_UPRLWR|(cfg.uq&UQ_NOEXASC)))
+					if(getstr(useron.location,LEN_LOCATION,kmode))
 						break; 
 				}
 			if(cfg.uq&UQ_ADDRESS && !useron.address[0])
 				while(online) {
 					bputs(text[EnterYourAddress]);
-					if(getstr(useron.address,LEN_ADDRESS,K_UPRLWR|(cfg.uq&UQ_NOEXASC)))
+					if(getstr(useron.address,LEN_ADDRESS,kmode))
 						break; 
 				}
 			if(cfg.uq&UQ_ADDRESS && !useron.zipcode[0])
diff --git a/src/sbbs3/readmail.cpp b/src/sbbs3/readmail.cpp
index 9a6fad8e67fc707423cf667978d0ed29fabad3f1..7c366bcc15cd0a4f2074dd382dfe04daa6628bca 100644
--- a/src/sbbs3/readmail.cpp
+++ b/src/sbbs3/readmail.cpp
@@ -436,7 +436,7 @@ void sbbs_t::readmail(uint usernumber, int which)
 			case 'F':  /* Forward last piece */
 				domsg=0;
 				bputs(text[ForwardMailTo]);
-				if(!getstr(str,LEN_ALIAS,K_UPRLWR))
+				if(!getstr(str,LEN_ALIAS,cfg.uq&UQ_NOUPRLWR ? K_NONE:K_UPRLWR))
 					break;
 				i=finduser(str);
 				if(!i)
diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp
index c8b033942dcfc5d4140aacd59bd5877cffeb8446..b23ee12f7418c842a72df8b3f99437bb5de4a488 100644
--- a/src/sbbs3/upload.cpp
+++ b/src/sbbs3/upload.cpp
@@ -370,7 +370,7 @@ bool sbbs_t::upload(uint dirnum)
 		bputs(text[EnterAfterLastDestUser]);
 		while((!dir_op(dirnum) && destusers<cfg.max_userxfer) || destusers<MAX_USERXFER) {
 			bputs(text[SendFileToUser]);
-			if(!getstr(str,LEN_ALIAS,K_UPRLWR))
+			if(!getstr(str,LEN_ALIAS,cfg.uq&UQ_NOUPRLWR ? K_NONE:K_UPRLWR))
 				break;
 			if((user.number=finduser(str))!=0) {
 				if(!dir_op(dirnum) && user.number==useron.number) {