diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c
index 60ed414fdea4a7ee18555a6beaf491bb6a3fcba2..ad9ff091c96cff679ba65bbb7a1d4f6395bf824c 100644
--- a/src/sbbs3/addfiles.c
+++ b/src/sbbs3/addfiles.c
@@ -344,7 +344,7 @@ void addlist(char *inpath, file_t f, uint dskip, uint sskip)
 		nextline[0]=0;
 		fgets(nextline,255,stream);
 		truncsp(curline);
-		if(curline[0]<=SP || (uchar)curline[0]>=0x7e)
+		if(curline[0]<=SP || (mode&ASCII_ONLY && (uchar)curline[0]>=0x7e))
 			continue;
 		printf("%s\n",curline);
 		strcpy(fname,curline);
@@ -366,7 +366,7 @@ void addlist(char *inpath, file_t f, uint dskip, uint sskip)
 			continue;
 
 		for(i=0;i<12;i++)
-			if(f.name[i]<SP || (uchar)f.name[i]>0x7e)
+			if(f.name[i]<SP || (mode&ASCII_ONLY && (uchar)f.name[i]>0x7e))
 				break;
 
 		if(i<12)					/* Ctrl chars or EX-ASCII in filename? */