diff --git a/apps/app_queue.c b/apps/app_queue.c
index 2e6b10c4d00166616e963fc17f36029e0a5dbc10..6d45be3705d59557cc0f2684a0e69de67e845524 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -3900,6 +3900,7 @@ static void leave_queue(struct queue_ent *qe)
 			while ((pr_iter = AST_LIST_REMOVE_HEAD(&qe->qe_rules, list))) {
 				ast_free(pr_iter);
 			}
+			qe->pr = NULL;
 			snprintf(posstr, sizeof(posstr), "%d", qe->pos);
 			pbx_builtin_setvar_helper(qe->chan, "QUEUEPOSITION", posstr);
 		} else {