diff --git a/src/sbbs3/scansubs.cpp b/src/sbbs3/scansubs.cpp
index 0f6a9f3c4a27eefc75ccb13e75db0dea4755461b..40abec293ab000250e9c207282e3c68dfd3b2067 100644
--- a/src/sbbs3/scansubs.cpp
+++ b/src/sbbs3/scansubs.cpp
@@ -176,7 +176,7 @@ void sbbs_t::new_scan_ptr_cfg()
 			bprintf(text[CfgGrpLstFmt],i+1,cfg.grp[usrgrp[i]]->lname); }
 		SYNC;
 		mnemonics(text[WhichOrAll]);
-		s=getkeys("AQ",i);
+		s=getkeys("AQ",usrgrps);
 		if(!s || s==-1 || s=='Q')
 			break;
 		if(s=='A') {
@@ -223,7 +223,7 @@ void sbbs_t::new_scan_ptr_cfg()
 					,timestr(&t),nulstr); }
 			SYNC;
 			mnemonics(text[WhichOrAll]);
-			s=getkeys("AQ",j);
+			s=getkeys("AQ",usrsubs[i]);
 			if(sys_status&SS_ABORT) {
 				lncntr=0;
 				return; }
@@ -322,7 +322,7 @@ void sbbs_t::new_scan_cfg(ulong misc)
 				mnemonics(text[NScanCfgWhichSub]);
 			else
 				mnemonics(text[SScanCfgWhichSub]);
-			s=getkeys("AQ",j);
+			s=getkeys("AQ",usrsubs[i]);
 			if(sys_status&SS_ABORT) {
 				lncntr=0;
 				return; }