diff --git a/apps/app_queue.c b/apps/app_queue.c
index f158a4caa819d1c09baf35ce53d7cb178f11c4bd..b306af1aefa18a516fee0582cd4cadc525d77789 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -8301,6 +8301,9 @@ stop:
 			} else if (qcontinue) {
 				reason = QUEUE_CONTINUE;
 				res = 0;
+			} else if (reason == QUEUE_LEAVEEMPTY) {
+				/* Return back to dialplan, don't hang up */
+				res = 0;
 			}
 		} else if (qe.valid_digits) {
 			ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",