diff --git a/src/d_main.c b/src/d_main.c
index 61510d5903e2ec5ed89085839ffa50daa11628bb..2fbe822d00d1e3e0d86bdc4e760c48bad6723836 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1038,6 +1038,7 @@ void D_SRB2Main(void)
 
 	INT32 pstartmap = 1;
 	boolean autostart = false;
+	INT32 i;
 
 	/* break the version string into version numbers, for netplay */
 	D_ConvertVersionNumbers();
@@ -1190,6 +1191,19 @@ void D_SRB2Main(void)
 					D_AddFile(startuppwads, s);
 			}
 		}
+
+		// Add any files that was dragged onto the executable
+		// Start at 1 as myargv[0] is the executable
+		if (myargc > 1)
+		{
+			for (i = 1; i < myargc; i++)
+			{
+				if (myargv[i][0] == '-') // Skip anything that starts with hyphen, if we do get any somehow.
+					continue;
+
+				D_AddFile(startuppwads, myargv[i]);
+			}
+		}
 	}
 
 	// get map from parms