diff --git a/source/common/filesystem/resourcefile.cpp b/source/common/filesystem/resourcefile.cpp
index 1a99afb62..833b72e94 100644
--- a/source/common/filesystem/resourcefile.cpp
+++ b/source/common/filesystem/resourcefile.cpp
@@ -303,7 +303,11 @@ void FResourceFile::PostProcessArchive(void *lumps, size_t lumpsize)
 	int lastpos = -1;
 	FString file;
 
-	while ((len = LumpFilter.IndexOf('.', lastpos+1)) > 0)
+	if (LumpFilter.IndexOf('.') < 0)
+	{
+		max -= FilterLumps(LumpFilter, lumps, lumpsize, max);
+	}
+	else while ((len = LumpFilter.IndexOf('.', lastpos+1)) > 0)
 	{
 		max -= FilterLumps(LumpFilter.Left(len), lumps, lumpsize, max);
 		lastpos = len;
diff --git a/source/rr/src/osdcmds.cpp b/source/rr/src/osdcmds.cpp
index 8f368f21b..d610b9749 100644
--- a/source/rr/src/osdcmds.cpp
+++ b/source/rr/src/osdcmds.cpp
@@ -915,8 +915,11 @@ static int osdcmd_printtimes(osdcmdptr_t UNUSED(parm))
 int32_t registerosdcommands(void)
 {
 
-    if (!VOLUMEONE)
+    if (VOLUMEONE)
+        OSD_RegisterFunction("changelevel","changelevel <level>: warps to the given level", osdcmd_changelevel);
+    else
     {
+        OSD_RegisterFunction("changelevel","changelevel <volume> <level>: warps to the given level", osdcmd_changelevel);
         OSD_RegisterFunction("map","map <mapfile>: loads the given user map", osdcmd_map);
         OSD_RegisterFunction("demo","demo <demofile or demonum>: starts the given demo", osdcmd_demo);
     }