diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp
index 2d1c260dcf3345b05776ae7ad5cf1080e69da8e0..ea7333e642dc6b8d7dd3ce1d7591381f88d067e1 100644
--- a/src/sbbs3/xtrn.cpp
+++ b/src/sbbs3/xtrn.cpp
@@ -334,7 +334,7 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir)
            		i|=SBBSEXEC_MODE_DOS_IN;
 			if(mode&EX_OUTR)
         		i|=SBBSEXEC_MODE_DOS_OUT;
-			sprintf(str," NT %d %d",cfg.node_num,i);
+			sprintf(str," NT %u %u",cfg.node_num,i);
 			strcat(fullcmdline,str);
 
 			sprintf(str,"sbbsexec_hungup%d",cfg.node_num);
@@ -396,6 +396,9 @@ int sbbs_t::external(char* cmdline, long mode, char* startup_dir)
 			if(mode&EX_OUTR)
         		start.mode|=SBBSEXEC_MODE_DOS_OUT;
 
+			sprintf(str," 95 %u %u",cfg.node_num,start.mode);
+			strcat(fullcmdline,str);
+
 			if(!DeviceIoControl(
 				vxd,					// handle to device of interest
 				SBBSEXEC_IOCTL_START,	// control code of operation to perform