diff --git a/main/bridge_channel.c b/main/bridge_channel.c
index 32d48309b00307642145c567394f37f8fa809181..013475c6895eafab3fbcfb02f72065468ede1145 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -1477,27 +1477,20 @@ static void bridge_channel_handle_control(struct ast_bridge_channel *bridge_chan
 	struct ast_channel *chan;
 	struct ast_option_header *aoh;
 	int is_caller;
-	int intercept_failed;
 
 	chan = bridge_channel->chan;
 	switch (fr->subclass.integer) {
 	case AST_CONTROL_REDIRECTING:
 		is_caller = !ast_test_flag(ast_channel_flags(chan), AST_FLAG_OUTGOING);
-		bridge_channel_suspend(bridge_channel);
-		intercept_failed = ast_channel_redirecting_sub(NULL, chan, fr, 1)
-			&& ast_channel_redirecting_macro(NULL, chan, fr, is_caller, 1);
-		bridge_channel_unsuspend(bridge_channel);
-		if (intercept_failed) {
+		if (ast_channel_redirecting_sub(NULL, chan, fr, 1) &&
+			ast_channel_redirecting_macro(NULL, chan, fr, is_caller, 1)) {
 			ast_indicate_data(chan, fr->subclass.integer, fr->data.ptr, fr->datalen);
 		}
 		break;
 	case AST_CONTROL_CONNECTED_LINE:
 		is_caller = !ast_test_flag(ast_channel_flags(chan), AST_FLAG_OUTGOING);
-		bridge_channel_suspend(bridge_channel);
-		intercept_failed = ast_channel_connected_line_sub(NULL, chan, fr, 1)
-			&& ast_channel_connected_line_macro(NULL, chan, fr, is_caller, 1);
-		bridge_channel_unsuspend(bridge_channel);
-		if (intercept_failed) {
+		if (ast_channel_connected_line_sub(NULL, chan, fr, 1) &&
+			ast_channel_connected_line_macro(NULL, chan, fr, is_caller, 1)) {
 			ast_indicate_data(chan, fr->subclass.integer, fr->data.ptr, fr->datalen);
 		}
 		break;