diff --git a/src/sbbs3/listfile.cpp b/src/sbbs3/listfile.cpp
index 50f08fb7f78bb1645e00c96889e84f6c0f3a8b84..629dbca9bf463623a38ec760c3ca88c70145631b 100644
--- a/src/sbbs3/listfile.cpp
+++ b/src/sbbs3/listfile.cpp
@@ -140,13 +140,17 @@ int sbbs_t::listfiles(uint dirnum, const char *filespec, FILE* tofile, long mode
 			char* p = (f->desc == NULL) ? NULL : strcasestr(f->desc, filespec);
 			if(p == NULL)
 				p = strcasestr(f->name, filespec);
+			if(p == NULL && f->extdesc != NULL)
+				p = strcasestr((char*)f->extdesc, filespec);
+			if(p == NULL && f->tags != NULL)
+				p = strcasestr(f->tags, filespec);
+			if(p == NULL && f->author != NULL)
+				p = strcasestr(f->author, filespec);
+			if(p == NULL && f->author_org != NULL)
+				p = strcasestr(f->author_org, filespec);
 			if(p == NULL) {
-				if(f->extdesc != NULL)
-					p = strcasestr((char*)f->extdesc, filespec);
-				if(p == NULL) {
-					m++;
-					continue; 
-				}
+				m++;
+				continue; 
 			}
 		}
 		if(useron.misc&BATCHFLAG && letter=='A' && found && !tofile