diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 56ccea1cdb622ebc8119ffcdc0aabe211ab11ca2..80e4fec81b41a882c69d85255c3d6ac723450e85 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -7048,7 +7048,7 @@ static int __unload_module(void)
 		return -1;
 	}
 	if (!ast_mutex_lock(&monlock)) {
-		if (monitor_thread) {
+		if (monitor_thread && (monitor_thread != -2)) {
 			pthread_cancel(monitor_thread);
 			pthread_kill(monitor_thread, SIGURG);
 			pthread_join(monitor_thread, NULL);