diff --git a/openbsc/src/mgcp/mgcp_network.c b/openbsc/src/mgcp/mgcp_network.c
index 28a27ca..6c6c336 100644
--- a/openbsc/src/mgcp/mgcp_network.c
+++ b/openbsc/src/mgcp/mgcp_network.c
@@ -383,7 +383,7 @@
 	endp->bts_end.packets += 1;
 
 	forward_data(fd->fd, &endp->taps[MGCP_TAP_BTS_IN], buf, rc);
-	if (cfg->transcoder_ip)
+	if (endp->is_transcoded)
 		return send_transcoder(endp, proto == PROTO_RTP, &buf[0], rc);
 	else
 		return send_to(endp, DEST_NETWORK, proto == PROTO_RTP, &addr, &buf[0], rc);
diff --git a/openbsc/src/mgcp/mgcp_protocol.c b/openbsc/src/mgcp/mgcp_protocol.c
index c73031c..4e7ebf8 100644
--- a/openbsc/src/mgcp/mgcp_protocol.c
+++ b/openbsc/src/mgcp/mgcp_protocol.c
@@ -421,12 +421,17 @@
 		return -1;
 	}
 
-	if (endp->cfg->transcoder_ip &&
-		allocate_port(endp, &endp->transcoder_end, &endp->cfg->transcoder_ports,
-			  mgcp_bind_transcoder_rtp_port) != 0) {
-		mgcp_rtp_end_reset(&endp->net_end);
-		mgcp_rtp_end_reset(&endp->bts_end);
-		return -1;
+	if (endp->cfg->transcoder_ip) {
+		if (allocate_port(endp, &endp->transcoder_end,
+				  &endp->cfg->transcoder_ports,
+				  mgcp_bind_transcoder_rtp_port) != 0) {
+			mgcp_rtp_end_reset(&endp->net_end);
+			mgcp_rtp_end_reset(&endp->bts_end);
+			return -1;
+		}
+
+		/* remember that we have set up transcoding */
+		endp->is_transcoded = 1;
 	}
 
 	return 0;
@@ -848,6 +853,7 @@
 	mgcp_rtp_end_reset(&endp->bts_end);
 	mgcp_rtp_end_reset(&endp->net_end);
 	mgcp_rtp_end_reset(&endp->transcoder_end);
+	endp->is_transcoded = 0;
 
 	memset(&endp->net_state, 0, sizeof(endp->net_state));
 	memset(&endp->bts_state, 0, sizeof(endp->bts_state));
@@ -927,7 +933,7 @@
 	int in_endp = ENDPOINT_NUMBER(endp);
 	int out_endp = back_channel(in_endp);
 
-	if (!endp->cfg->transcoder_ip)
+	if (!endp->is_transcoded)
 		return;
 
 	send_msg(endp, in_endp, endp->bts_end.local_port, "CRCX", "recvonly");
@@ -945,7 +951,7 @@
 	int in_endp = ENDPOINT_NUMBER(endp);
 	int out_endp = back_channel(in_endp);
 
-	if (!endp->cfg->transcoder_ip)
+	if (!endp->is_transcoded)
 		return;
 
 	send_dlcx(endp, in_endp);
