diff --git a/apps/app_dial.c b/apps/app_dial.c
index e4689e1108a752a3809173d1370e302693c45b45..21d37ebacc9ba1c915ae30263f2be02a73056fd1 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1733,12 +1733,20 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
 						ast_indicate(o->chan, f->subclass.integer);
 						break;
 					case AST_CONTROL_CONNECTED_LINE:
+						if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) {
+							ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan));
+							break;
+						}
 						if (ast_channel_connected_line_sub(in, o->chan, f, 1) &&
 							ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) {
 							ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);
 						}
 						break;
 					case AST_CONTROL_REDIRECTING:
+						if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) {
+							ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan));
+							break;
+						}
 						if (ast_channel_redirecting_sub(in, o->chan, f, 1) &&
 							ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) {
 							ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);
diff --git a/apps/app_followme.c b/apps/app_followme.c
index dbb11ee26edf56a0190007f028bac2b4c2035ad4..9aef039b1010e45228892286fd28ded3ea34a373 100644
--- a/apps/app_followme.c
+++ b/apps/app_followme.c
@@ -915,6 +915,11 @@ static struct ast_channel *wait_for_winner(struct findme_user_listptr *findme_us
 						/* Ignore going off hook and flash */
 						break;
 					case AST_CONTROL_CONNECTED_LINE:
+						if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) {
+							ast_verb(3, "Connected line update from %s prevented.\n",
+								ast_channel_name(winner));
+							break;
+						}
 						if (!tmpuser) {
 							/*
 							 * Hold connected line update from caller until we have a
@@ -930,11 +935,6 @@ static struct ast_channel *wait_for_winner(struct findme_user_listptr *findme_us
 								tpargs->pending_in_connected_update = 1;
 							}
 							ast_party_connected_line_free(&connected);
-							break;
-						}
-						if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) {
-							ast_verb(3, "Connected line update from %s prevented.\n",
-								ast_channel_name(winner));
 						} else {
 							ast_verb(3,
 								"%s connected line has changed. Saving it until answer.\n",
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 1ddf79f707cbec4969fd226e0e36d0763172428f..80c253f2247f1475ebcdccd58862df41ab1bbd56 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -5429,12 +5429,20 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte
 				case AST_FRAME_CONTROL:
 					switch (f->subclass.integer) {
 					case AST_CONTROL_CONNECTED_LINE:
+						if (o->block_connected_update) {
+							ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan));
+							break;
+						}
 						if (ast_channel_connected_line_sub(in, o->chan, f, 1) &&
 							ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) {
 							ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);
 						}
 						break;
 					case AST_CONTROL_REDIRECTING:
+						if (o->block_connected_update) {
+							ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan));
+							break;
+						}
 						if (ast_channel_redirecting_sub(in, o->chan, f, 1) &&
 							ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) {
 							ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);