diff --git a/openbsc/include/openbsc/mgcp_internal.h b/openbsc/include/openbsc/mgcp_internal.h
index 2b44e40..2236b2a 100644
--- a/openbsc/include/openbsc/mgcp_internal.h
+++ b/openbsc/include/openbsc/mgcp_internal.h
@@ -173,10 +173,11 @@
 	/* tap for the endpoint */
 	struct mgcp_rtp_tap taps[MGCP_TAP_COUNT];
 
-	/* osmux is enabled/disabled */
-	int osmux;
-	/* osmux internal to unbatch messages for this endpoint */
-	struct osmux_out_handle osmux_out;
+	struct {
+		int enable;
+		/* handle to unbatch messages */
+		struct osmux_out_handle out;
+	} osmux;
 };
 
 #define ENDPOINT_NUMBER(endp) abs(endp - endp->tcfg->endpoints)
diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
index 1198c24..0989cc6 100644
--- a/openbsc/src/libmgcp/mgcp_protocol.c
+++ b/openbsc/src/libmgcp/mgcp_protocol.c
@@ -327,7 +327,8 @@
 	len = snprintf(sdp_record, sizeof(sdp_record),
 		       "I: %u%s\n\n",
 			endp->ci,
-			endp->cfg->osmux && endp->osmux ? "\nX-Osmux: On" : "");
+			endp->cfg->osmux && endp->osmux.enable ?
+				"\nX-Osmux: On" : "");
 
 	if (len < 0)
 		return NULL;
@@ -346,7 +347,7 @@
 
 static void send_dummy(struct mgcp_endpoint *endp)
 {
-	if (endp->osmux)
+	if (endp->osmux.enable)
 		osmux_send_dummy(endp);
 	else
 		mgcp_send_dummy(endp);
diff --git a/openbsc/src/libmgcp/osmux.c b/openbsc/src/libmgcp/osmux.c
index 2f135e7..456892e 100644
--- a/openbsc/src/libmgcp/osmux.c
+++ b/openbsc/src/libmgcp/osmux.c
@@ -272,7 +272,7 @@
 		     "sending extracted RTP from OSMUX to BSC via endpoint=%u "
 		     "(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
 
-		osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
+		osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
 		osmux_tx_sched(&list, scheduled_tx_bts_cb, endp);
 	}
 out:
@@ -360,7 +360,7 @@
 		     "sending extracted RTP from OSMUX to MSC via endpoint=%u "
 		     "(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
 
-		osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
+		osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
 		osmux_tx_sched(&list, scheduled_tx_net_cb, endp);
 	}
 out:
@@ -423,7 +423,7 @@
 		LOGP(DMGCP, LOGL_NOTICE, "OSMUX requested, ENABLING.\n");
 	}
 
-	osmux_xfrm_output_init(&endp->osmux_out,
+	osmux_xfrm_output_init(&endp->osmux.out,
 			       (endp->ci * rtp_ssrc_winlen) +
 			       (random() % rtp_ssrc_winlen));
 
@@ -435,7 +435,7 @@
 			endp->type = MGCP_OSMUX_BSC;
 			break;
 	}
-	endp->osmux = 1;
+	endp->osmux.enable = 1;
 
 	return 0;
 }
