diff --git a/apps/app_queue.c b/apps/app_queue.c
index 052d528b8bb92aaf1752929099a6785c6ab4436f..ee252f99e2d2b9bb168f7c4f3ceb53b332b5dcf8 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -8471,12 +8471,12 @@ stop:
 					"%d|%d|%ld", qe.pos, qe.opos,
 					(long) (time(NULL) - qe.start));
 				res = -1;
-			} 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 (qcontinue) {
+				reason = QUEUE_CONTINUE;
+				res = 0;
 			}
 		} else if (qe.valid_digits) {
 			ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",