diff --git a/main/channel.c b/main/channel.c
index 5834410caf83ba1f6b32f577964be6169c9bfd21..6f068384b8e4eaa4c70616623fcd927f89124871 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -3771,7 +3771,7 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
 					ast_debug(1, "Ignoring answer on an inbound call!\n");
 					ast_frfree(f);
 					f = &ast_null_frame;
-				} else if (prestate == AST_STATE_UP) {
+				} else if (prestate == AST_STATE_UP && ast_bridged_channel(chan)) {
 					ast_debug(1, "Dropping duplicate answer!\n");
 					ast_frfree(f);
 					f = &ast_null_frame;