diff --git a/apps/app_queue.c b/apps/app_queue.c
index 3886b7c7adc7e9bfca4ccbc712afff1cf35d53b8..720493621e72b3813a0ef5e2d0815a013e7f8530 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -5574,6 +5574,13 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom
 			member->membername, (long)member->lastcall);
 		ao2_unlock(q);
 	}
+	/* Member might never experience any direct status change (local
+	 * channel with forwarding in particular). If that's the case,
+	 * this is the last chance to remove it from pending or subsequent
+	 * calls will not occur.
+	 */
+	pending_members_remove(member);
+
 	ao2_lock(q);
 	q->callscompleted++;
 	if (callcompletedinsl) {