diff --git a/main/asterisk.c b/main/asterisk.c
index 48192758c6e658eeb613d78879c026b6e11a3e75..37bc92f5c12f52a313c7619c2d1bdbd1d929e60f 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -3128,7 +3128,7 @@ static void *monitor_sig_flags(void *unused)
 		}
 		if (sig_flags.need_quit) {
 			sig_flags.need_quit = 0;
-			if (consolethread != AST_PTHREADT_NULL) {
+			if ((consolethread != AST_PTHREADT_NULL) && (consolethread != pthread_self())) {
 				sig_flags.need_quit_handler = 1;
 				pthread_kill(consolethread, SIGURG);
 			} else {