diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index e8c5d59fb2cdaf632e1dcd1e03bd69d659144056..a0dd6e1da707a1e521f53623d2de42b01e6f7dfa 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -140,6 +140,7 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
 #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
 #include <execinfo.h>
 #include <time.h>
+#define UNIXBACKTRACE
 #endif
 
 // Locations for searching the srb2.pk3
@@ -243,6 +244,7 @@ SDL_bool framebuffer = SDL_FALSE;
 
 UINT8 keyboard_started = false;
 
+#ifdef UNIXBACKTRACE
 #define STDERR_WRITE(string) if (fd != -1) I_OutputMsg("%s", string)
 #define CRASHLOG_WRITE(string) if (fd != -1) write(fd, string, strlen(string))
 #define CRASHLOG_STDERR_WRITE(string) \
@@ -252,7 +254,6 @@ UINT8 keyboard_started = false;
 
 static void write_backtrace(INT32 signal)
 {
-#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
 	int fd = -1;
 	size_t size;
 	time_t rawtime;
@@ -302,11 +303,11 @@ static void write_backtrace(INT32 signal)
 	CRASHLOG_WRITE("\n"); // Write another newline to the log so it looks nice :)
 
 	close(fd);
-#endif
 }
 #undef STDERR_WRITE
 #undef CRASHLOG_WRITE
 #undef CRASHLOG_STDERR_WRITE
+#endif // UNIXBACKTRACE
 
 static void I_ReportSignal(int num, int coredumped)
 {
@@ -367,7 +368,9 @@ FUNCNORETURN static ATTRNORETURN void signal_handler(INT32 num)
 {
 	D_QuitNetGame(); // Fix server freezes
 	CL_AbortDownloadResume();
+#ifdef UNIXBACKTRACE
 	write_backtrace(num);
+#endif
 	I_ReportSignal(num, 0);
 	I_ShutdownSystem();
 	signal(num, SIG_DFL);               //default signal action
@@ -761,7 +764,9 @@ static void I_RegisterSignals (void)
 #ifdef NEWSIGNALHANDLER
 static void signal_handler_child(INT32 num)
 {
+#ifdef UNIXBACKTRACE
 	write_backtrace(num);
+#endif
 
 	signal(num, SIG_DFL);               //default signal action
 	raise(num);