diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index f5e6614d7c8cf19ca2ae59091a70d5067f542716..1e0fe874cdfb32f654ca380be0833e15f6ca819e 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -2444,10 +2444,8 @@ INT32 I_StartupSystem(void)
 	SDL_version SDLlinked;
 	SDL_VERSION(&SDLcompiled)
 	SDL_GetVersion(&SDLlinked);
-#ifdef HAVE_THREADS
 	I_start_threads();
 	I_AddExitFunc(I_stop_threads);
-#endif
 	I_StartupConsole();
 #ifdef NEWSIGNALHANDLER
 	// This is useful when debugging. It lets GDB attach to
diff --git a/src/sdl/i_threads.c b/src/sdl/i_threads.c
index c05936072ea9893a3079a4cbb86525196b75da89..99b445103170e2eee9f56fd62a5a1bbd3ccdb139 100644
--- a/src/sdl/i_threads.c
+++ b/src/sdl/i_threads.c
@@ -185,7 +185,10 @@ I_spawn_thread (
 			);
 
 			if (! th->thread)
+			{
+				I_OutputMsg("I_spawn_thread failed to make thread %s: %s\n", name, SDL_GetError());
 				abort();
+			}
 		}
 	}
 	I_unlock_mutex(i_thread_pool_mutex);