diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h
index 7f8b36b9a8fa7f5fc65a5bb47e2907cd90d273c4..30843493c08aa6dde3e26ce9627ef73f8493d3b5 100644
--- a/src/conio/ciolib.h
+++ b/src/conio/ciolib.h
@@ -307,6 +307,7 @@ CIOLIBEXPORTVAR int directvideo;
 CIOLIBEXPORTVAR int hold_update;
 CIOLIBEXPORTVAR int puttext_can_move;
 CIOLIBEXPORTVAR int ciolib_xlat;
+CIOLIBEXPORTVAR int ciolib_reaper=TRUE;
 
 #define _conio_kbhit()		kbhit()
 
diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c
index 58a8570fa94eea95fca97d2ce7602d7ef287ece5..d3be76d7fad9bad38f3d426e9ae6f3706f6396ed 100644
--- a/src/conio/sdl_con.c
+++ b/src/conio/sdl_con.c
@@ -1548,7 +1548,8 @@ int sdl_video_event_thread(void *data)
 						break;
 					case SDL_QUIT:
 						sdl_add_key(CIO_KEY_QUIT);
-						sdl.CreateThread(cheery_reaper, NULL);
+						if (ciolib_reaper)
+							sdl.CreateThread(cheery_reaper, NULL);
 						break;
 					case SDL_VIDEORESIZE:
 						if(ev.resize.w > 0 && ev.resize.h > 0) {