diff --git a/src/sbbs3/email.cpp b/src/sbbs3/email.cpp
index 55b3e5ea428042dfb2c1f943fefc4187c274aabf..ab7376553fe2e87e051be8884eb8d2db4eb4b1fb 100644
--- a/src/sbbs3/email.cpp
+++ b/src/sbbs3/email.cpp
@@ -141,7 +141,7 @@ bool sbbs_t::email(int usernumber, char *top, char *subj, long mode)
 					&& chk_ar(cfg.prot[x]->ar,&useron))
 					break;
 			if(x<cfg.total_prots)	/* This should be always */
-				protocol(cmdstr(cfg.prot[x]->ulcmd,str2,nulstr,NULL),0); }
+				protocol(cmdstr(cfg.prot[x]->ulcmd,str2,nulstr,NULL),true); }
 		l=flength(str2);
 		if(l>0)
 			bprintf(text[FileNBytesReceived],title,ultoac(l,tmp));
diff --git a/src/sbbs3/execfunc.cpp b/src/sbbs3/execfunc.cpp
index da3205b815bd038b4598947f035cc88e9b0d78c6..15225db25b4676911cb8327fdf1300d90f7b201a 100644
--- a/src/sbbs3/execfunc.cpp
+++ b/src/sbbs3/execfunc.cpp
@@ -648,7 +648,7 @@ int sbbs_t::exec_function(csi_t *csi)
 				if(cfg.prot[i]->mnemonic==ch && chk_ar(cfg.prot[i]->ar,&useron))
 					break;
 			if(i<cfg.total_prots) {
-				protocol(cmdstr(cfg.prot[i]->dlcmd,csi->str,csi->str,str),0);
+				protocol(cmdstr(cfg.prot[i]->dlcmd,csi->str,csi->str,str),false);
 				autohangup(); }
 			return(0);
 
@@ -672,7 +672,7 @@ int sbbs_t::exec_function(csi_t *csi)
 				if(cfg.prot[i]->mnemonic==ch && chk_ar(cfg.prot[i]->ar,&useron))
 					break;
 			if(i<cfg.total_prots) {
-				protocol(cmdstr(cfg.prot[i]->ulcmd,csi->str,csi->str,str),0);
+				protocol(cmdstr(cfg.prot[i]->ulcmd,csi->str,csi->str,str),true);
 				autohangup(); }
 			return(0);
 
diff --git a/src/sbbs3/fido.cpp b/src/sbbs3/fido.cpp
index 26536d9b4e6819af81db38f95ca345b3edfca5d3..496dc3a1da84a51a925baeb269af001b5c18d28e 100644
--- a/src/sbbs3/fido.cpp
+++ b/src/sbbs3/fido.cpp
@@ -252,7 +252,7 @@ bool sbbs_t::netmail(char *into, char *title, long mode)
 					&& chk_ar(cfg.prot[x]->ar,&useron))
 					break;
 			if(x<cfg.total_prots)	/* This should be always */
-				protocol(cmdstr(cfg.prot[x]->ulcmd,subj,nulstr,NULL),0); }
+				protocol(cmdstr(cfg.prot[x]->ulcmd,subj,nulstr,NULL),true); }
 		l=flength(subj);
 		if(l>0)
 			bprintf(text[FileNBytesReceived],fname,ultoac(l,tmp));
diff --git a/src/sbbs3/listfile.cpp b/src/sbbs3/listfile.cpp
index fc5b168c1de619bfd7a1cedcfe55a02d39da6db6..430cd6e7fa27465a86e88a527fb6753fc1050c5e 100644
--- a/src/sbbs3/listfile.cpp
+++ b/src/sbbs3/listfile.cpp
@@ -1247,7 +1247,7 @@ int sbbs_t::listfileinfo(uint dirnum, char *filespec, long mode)
 						thisnode.aux=(tm->tm_hour*60)+tm->tm_min;
 						putnodedat(cfg.node_num,&thisnode); /* calculate ETA */
 						start=time(NULL);
-						j=protocol(cmdstr(cfg.prot[i]->dlcmd,path,nulstr,NULL),0);
+						j=protocol(cmdstr(cfg.prot[i]->dlcmd,path,nulstr,NULL),false);
 						end=time(NULL);
 						if(cfg.dir[f.dir]->misc&DIR_TFREE)
 							starttime+=end-start;
diff --git a/src/sbbs3/netmail.cpp b/src/sbbs3/netmail.cpp
index 0f7d921a541c08ea69a849eae3af48a34f4731d2..e91d7698ceec79081261591a7f2797db3a6ce225 100644
--- a/src/sbbs3/netmail.cpp
+++ b/src/sbbs3/netmail.cpp
@@ -130,7 +130,7 @@ bool sbbs_t::inetmail(char *into, char *subj, long mode)
 					&& chk_ar(cfg.prot[x]->ar,&useron))
 					break;
 			if(x<cfg.total_prots)	/* This should be always */
-				protocol(cmdstr(cfg.prot[x]->ulcmd,str2,nulstr,NULL),0); }
+				protocol(cmdstr(cfg.prot[x]->ulcmd,str2,nulstr,NULL),true); }
 		l=flength(str2);
 		if(l>0)
 			bprintf(text[FileNBytesReceived],title,ultoac(l,tmp));
diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp
index 3a4dd8ef26d61e23af5ccca1ece47782f04bc502..840e50032b0ae2e32ea0e2afc4d556eef08c4f22 100644
--- a/src/sbbs3/qwk.cpp
+++ b/src/sbbs3/qwk.cpp
@@ -575,7 +575,7 @@ void sbbs_t::qwk_sec()
 				padfname(tmp2,fd.name);
 				sprintf(str,"%sBATCHDN.LST",cfg.node_dir);
 				sprintf(tmp2,"%sBATCHUP.LST",cfg.node_dir);
-				j=protocol(cmdstr(cfg.prot[i]->bicmd,str,tmp2,NULL),0);
+				j=protocol(cmdstr(cfg.prot[i]->bicmd,str,tmp2,NULL),true);
 				batdn_total=batup_total=0;
 				if(cfg.prot[i]->misc&PROT_DSZLOG) {
 					if(!checkprotlog(&fd)) {
@@ -672,7 +672,7 @@ void sbbs_t::qwk_sec()
 				sprintf(str,"%s%s.qwk",cfg.temp_dir,cfg.sys_id);
 				sprintf(tmp2,"%s.qwk",cfg.sys_id);
 				padfname(tmp2,fd.name);
-				j=protocol(cmdstr(cfg.prot[i]->dlcmd,str,nulstr,NULL),0);
+				j=protocol(cmdstr(cfg.prot[i]->dlcmd,str,nulstr,NULL),false);
 				if(cfg.prot[i]->misc&PROT_DSZLOG) {
 					if(!checkprotlog(&fd)) {
 						last_ns_time=ns_time;
@@ -748,7 +748,7 @@ void sbbs_t::qwk_sec()
 			if(i>=cfg.total_prots)	/* This shouldn't happen */
 				continue;
 			sprintf(str,"%s%s.rep",cfg.temp_dir,cfg.sys_id);
-			protocol(cmdstr(cfg.prot[i]->ulcmd,str,nulstr,NULL),0);
+			protocol(cmdstr(cfg.prot[i]->ulcmd,str,nulstr,NULL),true);
 			unpack_rep();
 			delfiles(cfg.temp_dir,ALLFILES);
 			//autohangup();
diff --git a/src/sbbs3/readmail.cpp b/src/sbbs3/readmail.cpp
index c05daf7ca05ed8234914c1d9e90dcfc4e1f39175..5b5f995a4b3b9d2f454a4b646d3f563c86b62ed6 100644
--- a/src/sbbs3/readmail.cpp
+++ b/src/sbbs3/readmail.cpp
@@ -257,8 +257,7 @@ void sbbs_t::readmail(uint usernumber, int which)
 										&& chk_ar(cfg.prot[i]->ar,&useron))
 										break;
 								if(i<cfg.total_prots) {
-									j=protocol(cmdstr(cfg.prot[i]->dlcmd,str2,nulstr
-										,NULL),0);
+									j=protocol(cmdstr(cfg.prot[i]->dlcmd,str2,nulstr,NULL),false);
 									if((cfg.prot[i]->misc&PROT_DSZLOG
 										&& checkprotlog(&fd))
 										|| (!(cfg.prot[i]->misc&PROT_DSZLOG) && !j)) {
diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index 2932cfba6b1b7d5cc8a58086593b585586f0a207..3d6cc7cf3e06180fa8adf01ec19e0a3d737d950a 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -546,7 +546,7 @@ public:
 	/* download.cpp */
 	void	downloadfile(file_t* f);
 	void	notdownloaded(ulong size, time_t start, time_t end);
-	int		protocol(char *cmdline, int cd);
+	int		protocol(char *cmdline, bool cd);
 	void	seqwait(uint devnum);
 	void	autohangup(void);
 	bool	checkprotlog(file_t* f);
diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp
index 1affdbd18a1f361c9ac9fcc8836f7b8525fb1ae0..7fd15a4763d1db793f99a1cf1d198441ce6349a9 100644
--- a/src/sbbs3/upload.cpp
+++ b/src/sbbs3/upload.cpp
@@ -470,7 +470,7 @@ void sbbs_t::upload(uint dirnum)
 					break;
 			if(i<cfg.total_prots) {
 				start=time(NULL);
-				protocol(cmdstr(cfg.prot[i]->ulcmd,str,nulstr,NULL),0);
+				protocol(cmdstr(cfg.prot[i]->ulcmd,str,nulstr,NULL),true);
 				end=time(NULL);
 				if(!(cfg.dir[dirnum]->misc&DIR_ULTIME)) /* Don't deduct upload time */
 					starttime+=end-start;