diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index ccf4be27b4f0ee851b4c9d4df34c093384e21d9f..27a900c85ec9cf1ce0afbeba5bd49ea00d1c63e8 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -2527,7 +2527,11 @@ void I_Quit(void)
 		free(myargv); // Deallocate allocated memory
 death:
 	W_Shutdown();
+#ifdef __EMSCRIPTEN__
+	emscripten_force_exit(0);
+#else
 	exit(0);
+#endif
 }
 
 void I_WaitVBL(INT32 count)