diff --git a/apps/app_queue.c b/apps/app_queue.c
index 2c7ed2a6fa42278b3a0113e9abafc1b158ac92a9..50f90295b7d2b5d68c0ee8d203ba78e312f69d84 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -6761,6 +6761,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
 
 				ast_channel_publish_dial(qe->chan, peer, member->interface, ast_hangup_cause_to_dial_status(ast_channel_hangupcause(peer)));
 				ast_autoservice_chan_hangup_peer(qe->chan, peer);
+				pending_members_remove(member);
 				ao2_ref(member, -1);
 				goto out;
 			} else if (ast_check_hangup(qe->chan)) {
@@ -6771,6 +6772,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
 				qe->handled = -1;
 				ast_channel_publish_dial(qe->chan, peer, member->interface, ast_hangup_cause_to_dial_status(ast_channel_hangupcause(peer)));
 				ast_autoservice_chan_hangup_peer(qe->chan, peer);
+				pending_members_remove(member);
 				ao2_ref(member, -1);
 				return -1;
 			}
@@ -6790,6 +6792,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
 			record_abandoned(qe);
 			ast_channel_publish_dial(qe->chan, peer, member->interface, ast_hangup_cause_to_dial_status(ast_channel_hangupcause(peer)));
 			ast_autoservice_chan_hangup_peer(qe->chan, peer);
+			pending_members_remove(member);
 			ao2_ref(member, -1);
 			return -1;
 		}