diff --git a/src/sbbs3/listfile.cpp b/src/sbbs3/listfile.cpp
index 4b24f4e916e465a1855cf362b98111078b222ade..f6ff9c1a1fe606301b3fe6ebfc54430c94cdf010 100644
--- a/src/sbbs3/listfile.cpp
+++ b/src/sbbs3/listfile.cpp
@@ -434,6 +434,7 @@ bool sbbs_t::listfile(const char *fname, const char *buf, uint dirnum
     int		i,j;
     ulong	cdt;
 	off_t	size;
+	int		size_attr=clr_filecdt;
 
 	if(buf[F_MISC]!=ETX && (buf[F_MISC]-' ')&FM_EXTDESC && useron.misc&EXTDESC) {
 		getextdesc(&cfg,dirnum,datoffset,ext);
@@ -466,13 +467,12 @@ bool sbbs_t::listfile(const char *fname, const char *buf, uint dirnum
 	if(cfg.dir[dirnum]->misc&DIR_FCHK) {
 		if(!fexistcase(path)) {
 			exist=0;
-			attr(cfg.color[clr_err]); 
+			size_attr = clr_err; 
 		}
 		else if((cfg.dir[dirnum]->misc&DIR_FREE) && (size=flength(path)) >= 0)
 			cdt = size;
 	}
-	else
-		attr(cfg.color[clr_filecdt]);
+	attr(cfg.color[size_attr]);
 	if(useron.misc&BATCHFLAG) {
 		if(!cdt && !(cfg.dir[dirnum]->misc&DIR_FREE)) {
 			attr(curatr^(HIGH|BLINK));