diff --git a/src/filesrch.c b/src/filesrch.c
index 8b6f99dad3d3085a7cfe955e0f0e607fa1805429..ed4254f80cf443fc8a2bf2baecaecd046ec9a2c9 100644
--- a/src/filesrch.c
+++ b/src/filesrch.c
@@ -697,6 +697,16 @@ boolean preparefilemenu(boolean samedepth)
 						ext |= EXT_LOADED;
 					}
 				}
+				else if (ext == EXT_TXT)
+				{
+					if (!strcmp(dent->d_name, "log.txt") || !strcmp(dent->d_name, "errorlog.txt"))
+						ext |= EXT_LOADED;
+				}
+				else if (ext == EXT_CFG)
+				{
+					if (!strcmp(dent->d_name, "config.cfg"))
+						ext |= EXT_LOADED;
+				}
 
 				folder = 0;
 			}
diff --git a/src/m_menu.c b/src/m_menu.c
index dcebcfec30c5089652f9e2e87747ea39dbdd9b7c..af5b406c39ca673d0802791d8072af5009720304 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -4906,7 +4906,7 @@ static void M_DrawAddons(void)
 
 			V_DrawSmallScaledPatch(x-(16+4), y, (flags & V_TRANSLUCENT), addonsp[((UINT8)(dirmenu[i][DIR_TYPE]) & ~EXT_LOADED)]);
 
-			if (dirmenu[i][DIR_TYPE] & EXT_LOADED)
+			if ((dirmenu[i][DIR_TYPE] & EXT_LOADED) && dirmenu[i][DIR_TYPE] >= EXT_LOADSTART)
 				V_DrawSmallScaledPatch(x-(16+4), y, 0, addonsp[NUM_EXT+3]);
 
 			if ((size_t)i == dir_on[menudepthleft])