diff --git a/src/libmsc/call_leg.c b/src/libmsc/call_leg.c
index d0dc642..b797322 100644
--- a/src/libmsc/call_leg.c
+++ b/src/libmsc/call_leg.c
@@ -352,25 +352,46 @@
 int call_leg_local_bridge(struct call_leg *cl1, uint32_t call_id1, struct gsm_trans *trans1,
 			  struct call_leg *cl2, uint32_t call_id2, struct gsm_trans *trans2)
 {
-	struct sdp_audio_codecs *codecs;
+	struct sdp_audio_codecs *cn_codecs = NULL;
 
 	cl1->local_bridge = cl2;
 	cl2->local_bridge = cl1;
 
-	/* We may just copy the codec info we have for the RAN side of the first leg to the CN side of both legs. This
-	 * also means that if both legs use different codecs the MGW must perform transcoding on the second leg. */
-	if (!cl1->rtp[RTP_TO_RAN] || !cl1->rtp[RTP_TO_RAN]->codecs_known) {
-		LOG_CALL_LEG(cl1, LOGL_ERROR, "RAN-side RTP stream codec is not known, not ready for bridging\n");
+	/* Marry the two CN sides of the call legs. Call establishment should have made all efforts for these to be
+	 * compatible. However, for local bridging, the codecs and payload type numbers must be exactly identical on
+	 * both sides. Both sides may so far have different payload type numbers or slightly differing codecs, but it
+	 * will only work when the SDP on the RTP_TO_CN sides of the call legs talk the same payload type numbers.
+	 * So, simply take the SDP from one RTP_TO_CN side, and overwrite the other RTP_TO_CN side's SDP with it.
+	 * If all goes to plan, the codecs will be identical, or possibly the MGW will do a conversion like AMR-BE to
+	 * AMR-OA. In the worst case, the other call leg cannot transcode, and the call fails -- because codec
+	 * negotiation did not do a good enough job.
+	 *
+	 * Copy one call leg's CN config to the other:
+	 *
+	 *     call leg 1         call leg 2
+	 *     ---MGW-ep-------   ---MGW-ep-------
+	 *     RAN      CN        CN       RAN
+	 *     AMR:112  AMR:112   AMR:96   AMR:96
+	 *                 |
+	 *                 +-------+
+	 *                         |
+	 *                         V
+	 *     AMR:112  AMR:112   AMR:112  AMR:96
+	 *                               ^MGW-endpoint converts payload type numbers between 112 and 96.
+	 */
+	if (cl1->rtp[RTP_TO_CN] && cl1->rtp[RTP_TO_CN]->codecs_known)
+		cn_codecs = &cl1->rtp[RTP_TO_CN]->codecs;
+	else if (cl2->rtp[RTP_TO_CN] && cl2->rtp[RTP_TO_CN]->codecs_known)
+		cn_codecs = &cl2->rtp[RTP_TO_CN]->codecs;
+	if (!cn_codecs) {
+		LOG_CALL_LEG(cl1, LOGL_ERROR, "RAN-side CN stream codec is not known, not ready for bridging\n");
+		LOG_CALL_LEG(cl2, LOGL_ERROR, "RAN-side CN stream codec is not known, not ready for bridging\n");
 		return -EINVAL;
 	}
-	codecs = &cl1->rtp[RTP_TO_RAN]->codecs;
-
-	if (!cl1->rtp[RTP_TO_CN] || !cl2->rtp[RTP_TO_CN])
-		return -ENOTCONN;
 
 	call_leg_ensure_ci(cl1, RTP_TO_CN, call_id1, trans1,
-			   codecs, &cl2->rtp[RTP_TO_CN]->local);
+			   cn_codecs, &cl2->rtp[RTP_TO_CN]->local);
 	call_leg_ensure_ci(cl2, RTP_TO_CN, call_id2, trans2,
-			   codecs, &cl1->rtp[RTP_TO_CN]->local);
+			   cn_codecs, &cl1->rtp[RTP_TO_CN]->local);
 	return 0;
 }
