diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index 74b61339bbc7bba6046d9143b2fa4818a67f73c6..e112a1e3b363f988aefc3a931374240f08cde9ea 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -199,16 +199,19 @@ int main(int argc, char **argv)
 	logdir = D_Home();
 
 #ifdef LOGMESSAGES
+	if (!M_CheckParm("-nolog"))
+	{
 #if defined(_WIN32_WCE) || defined(GP2X)
-	logstream = fopen(va("%s.log",argv[0]), "wt");
+		logstream = fopen(va("%s.log",argv[0]), "wt");
 #elif defined (_WII)
-	logstream = fopen(va("%s/log.txt",logdir), "wt");
+		logstream = fopen(va("%s/log.txt",logdir), "wt");
 #elif defined (DEFAULTDIR)
-	if (logdir)
-		logstream = fopen(va("%s/"DEFAULTDIR"/log.txt",logdir), "wt");
-	else
+		if (logdir)
+			logstream = fopen(va("%s/"DEFAULTDIR"/log.txt",logdir), "wt");
+		else
 #endif
-		logstream = fopen("./log.txt", "wt");
+			logstream = fopen("./log.txt", "wt");
+	}
 #endif
 
 	//I_OutputMsg("I_StartupSystem() ...\n");