diff --git a/main/rtp.c b/main/rtp.c
index 3831baaef35cb145d4f6cdc2a00ade37102a54b0..1e16505d4d82b2c436fe442700c6971e96515931 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -3344,6 +3344,11 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct
 				memcpy(&ac0, &t0, sizeof(ac0));
 				ast_rtp_get_peer(p1, &t1);
 				memcpy(&ac1, &t1, sizeof(ac1));
+				/* Update codec information */
+				if (pr0->get_codec)
+					oldcodec0 = codec0 = pr0->get_codec(c0);
+				if (pr1->get_codec)
+					oldcodec1 = codec1 = pr1->get_codec(c1);
 				ast_indicate_data(other, fr->subclass, fr->data, fr->datalen);
 				ast_frfree(fr);
 			} else {