diff --git a/src/d_iwad.cpp b/src/d_iwad.cpp
index 3ad6ed0048..1eb0c0ea0f 100644
--- a/src/d_iwad.cpp
+++ b/src/d_iwad.cpp
@@ -59,6 +59,8 @@ EXTERN_CVAR(Bool, autoloadbrightmaps)
 EXTERN_CVAR(Bool, autoloadwidescreen)
 EXTERN_CVAR(String, language)
 
+bool foundprio = false; // global to prevent iwad box from appearing
+
 //==========================================================================
 //
 // Parses IWAD definitions
@@ -695,6 +697,7 @@ int FIWadManager::IdentifyVersion (std::vector<std::string>&wadfiles, const char
 				picks.Clear();
 				picks.Push(found);
 				pickedprio = mIWadInfos[found.mInfoIndex].prio;
+				foundprio = true;
 			}
 		}
 	}
@@ -750,7 +753,7 @@ int FIWadManager::IdentifyVersion (std::vector<std::string>&wadfiles, const char
 	int pick = 0;
 
 	// Present the IWAD selection box.
-	bool alwaysshow = (queryiwad && !Args->CheckParm("-iwad"));
+	bool alwaysshow = (queryiwad && !Args->CheckParm("-iwad") && !foundprio);
 
 	if (alwaysshow || picks.Size() > 1)
 	{