diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c
index 53a63b28e2dbff235c1882364f9288e34f3f3bfb..de6ec9fadcdbeba4f44fb126f6cc9c9ae37298d7 100644
--- a/src/sbbs3/sexyz.c
+++ b/src/sbbs3/sexyz.c
@@ -159,6 +159,11 @@ static int lputs(void* unused, int level, const char* str)
 {
 	FILE*	fp=statfp;
 
+#if defined(_WIN32) && defined(_DEBUG)
+	if(log_level==LOG_DEBUG || level==LOG_DEBUG)
+		OutputDebugString(str);
+#endif
+
 	if(level>log_level)
 		return 0;
 
@@ -231,11 +236,6 @@ static char *chr(uchar ch)
 			case ZBIN:		return("ZBIN");
 			case ZHEX:		return("ZHEX");
 			case ZBIN32:	return("ZBIN32");
-			case ZBINR32:	return("ZBINR32");
-			case ZVBIN:		return("ZVBIN");
-			case ZVHEX:		return("ZVHEX");
-			case ZVBIN32:	return("ZVBIN32");
-			case ZVBINR32:	return("ZVBINR32");
 			case ZRESC:		return("ZRESC");
 			case ZCRCE:		return("ZCRCE");
 			case ZCRCG:		return("ZCRCG");
@@ -358,6 +358,8 @@ int recv_byte(void* unused, unsigned timeout)
 				}
 				if(telnet_cmdlen==1) {
 					telnet_cmdlen=0;
+					if(debug_rx)
+						lprintf(LOG_DEBUG,"RX: %s",chr(TELNET_IAC));
 					return(TELNET_IAC);
 				}
 			}
@@ -926,7 +928,7 @@ static int receive_files(char** fname_list, int fnames)
 		else {
 			if(mode&YMODEM) {
 				lprintf(LOG_INFO,"Fetching Ymodem header block");
-				for(errors=0;errors<xm.max_errors;errors++) {
+				for(errors=0;errors<xm.max_errors && !xm.cancelled;errors++) {
 					if(errors>(xm.max_errors/2) && mode&CRC && !(mode&GMODE))
 						mode&=~CRC;
 					xmodem_put_nak(&xm, /* expected_block: */ 0);
@@ -935,7 +937,7 @@ static int receive_files(char** fname_list, int fnames)
 						break; 
 					} 
 				}
-				if(errors>=xm.max_errors) {
+				if(errors>=xm.max_errors || xm.cancelled) {
 					lprintf(LOG_ERR,"Error fetching Ymodem header block");
 					xmodem_cancel(&xm);
 					return(1); 
@@ -986,7 +988,7 @@ static int receive_files(char** fname_list, int fnames)
 					case ZSINIT:
 						lprintf(LOG_WARNING,"Remote attempted ZSINIT (not supported)");
 						zmodem_send_nak(&zm);
-						break;
+						continue;
 					case ZFIN:
 						zmodem_send_zfin(&zm);	/* ACK */
 						/* fall-through */
@@ -1035,8 +1037,8 @@ static int receive_files(char** fname_list, int fnames)
 				} 
 			}
 			fprintf(statfp,"File size: %lu bytes\n", file_bytes);
-			fprintf(statfp,"Remaining: %lu bytes in %u files\n", total_bytes, total_files);
-//			getchar();
+			if(total_files>1)
+				fprintf(statfp,"Remaining: %lu bytes in %u files\n", total_bytes, total_files);
 		}
 
 		lprintf(LOG_DEBUG,"Receiving: %.64s ",str);
@@ -1437,9 +1439,6 @@ int main(int argc, char **argv)
 					case '!':
 						pause_on_abend=TRUE;
 						break;
-					case 'D':
-						mode|=DEBUG; 
-						break;
 				}
 			}
 		}
@@ -1550,13 +1549,13 @@ int main(int argc, char **argv)
 #endif
 
 	if(!socket_check(sock, NULL, NULL, 0)) {
-		fprintf(statfp,"!No socket connection\n");
+		lprintf(LOG_WARNING,"No socket connection");
 		return(-1); 
 	}
 
 	if((dszlog=getenv("DSZLOG"))!=NULL) {
 		if((logfp=fopen(dszlog,"w"))==NULL) {
-			fprintf(statfp,"!Error opening DSZLOG file: %s\n",dszlog);
+			lprintf(LOG_WARNING,"Error %d opening DSZLOG file: %s",errno,dszlog);
 			return(-1); 
 		}
 	}
diff --git a/src/sbbs3/sexyz.h b/src/sbbs3/sexyz.h
index e3157fe97fb0f1975ef9d21e33f8542f89cdcd30..30f671301b26ef0bf269744e07cb7f46fa76562d 100644
--- a/src/sbbs3/sexyz.h
+++ b/src/sbbs3/sexyz.h
@@ -48,7 +48,6 @@
 #define CRC 			(1<<5)	/* Use CRC error correction 				*/
 #define GMODE			(1<<6)	/* For Qmodem-G and Ymodem-G				*/
 #define RECVDIR 		(1<<7)	/* Directory specified to download to		*/
-#define DEBUG			(1<<8)	/* Debug output 							*/
 #define OVERWRITE		(1<<9)	/* Overwrite receiving files				*/
 
 							/* Zmodem mode bits 						*/