diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c
index 2525f3512b1c338b2a5e847b11c16f41575872b4..2dc6b34fd15c2095f13b47b42672e57ce94629e0 100644
--- a/src/sbbs3/filedat.c
+++ b/src/sbbs3/filedat.c
@@ -644,6 +644,7 @@ void DLLCALL putextdesc(scfg_t* cfg, uint dirnum, ulong datoffset, char *ext)
 	char str[256],nulbuf[F_EXBSIZE];
 	int file;
 
+	strip_invalid_attr(ext);	/* eliminate bogus ctrl-a codes */
 	memset(nulbuf,0,sizeof(nulbuf));
 	sprintf(str,"%s%s.exb",cfg->dir[dirnum]->data_dir,cfg->dir[dirnum]->code);
 	if((file=nopen(str,O_WRONLY|O_CREAT))==-1)