diff --git a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
index a4a5447..42a3897 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
@@ -297,7 +297,6 @@
 {
 	struct msgb *resp;
 	struct osmo_msc_data *msc;
-	struct gsm_network *network;
 	struct tlv_parsed tp;
 	uint8_t *data;
 	uint16_t cic;
@@ -311,7 +310,6 @@
 		return -1;
 	}
 
-	network = conn->conn->bts->network;
 	tlv_parse(&tp, gsm0808_att_tlvdef(), msg->l4h + 1, length - 1, 0, 0);
 
 	if (!TLVP_PRESENT(&tp, GSM0808_IE_CHANNEL_TYPE)) {
@@ -358,7 +356,7 @@
 	 * the correct value.
 	 */
 	full_rate = 0;
-	msc = &network->bsc_data->msc;
+	msc = conn->msc;
 	for (supported = 0;
 		chan_mode == GSM48_CMODE_SIGN && supported < msc->audio_length;
 		++supported) {
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
index fce38ce..9d6909c 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_filter.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
@@ -122,13 +122,13 @@
 
 static void send_welcome_ussd(struct gsm_subscriber_connection *conn)
 {
-	struct gsm_network *net;
-	net = conn->bts->network;
+	struct osmo_bsc_sccp_con *bsc;
 
-	if (!net->bsc_data->msc.ussd_welcome_txt)
+	bsc = conn->sccp_con;
+	if (!bsc || !bsc->msc->ussd_welcome_txt);
 		return;
 
-	gsm0480_send_ussdNotify(conn, 1, net->bsc_data->msc.ussd_welcome_txt);
+	gsm0480_send_ussdNotify(conn, 1, bsc->msc->ussd_welcome_txt);
 	gsm0480_send_releaseComplete(conn);
 }
 
@@ -137,6 +137,7 @@
  */
 int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg)
 {
+	struct osmo_msc_data *msc;
 	struct gsm_network *net;
 	struct gsm48_loc_area_id *lai;
 	struct gsm48_hdr *gh;
@@ -150,10 +151,10 @@
 	gh = (struct gsm48_hdr *) msgb_l3(msg);
 	mtype = gh->msg_type & 0xbf;
 	net = conn->bts->network;
+	msc = conn->sccp_con->msc;
 
 	if (mtype == GSM48_MT_MM_LOC_UPD_ACCEPT) {
-		if (net->bsc_data->msc.core_ncc != -1 ||
-		    net->bsc_data->msc.core_mcc != -1) {
+		if (msc->core_ncc != -1 || msc->core_mcc != -1) {
 			if (msgb_l3len(msg) >= sizeof(*gh) + sizeof(*lai)) {
 				lai = (struct gsm48_loc_area_id *) &gh->data[0];
 				gsm48_generate_lai(lai, net->country_code,
