diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h
index 2620147..d8465c9 100644
--- a/openbsc/include/openbsc/osmo_bsc.h
+++ b/openbsc/include/openbsc/osmo_bsc.h
@@ -6,6 +6,8 @@
 #include "bsc_api.h"
 
 struct sccp_connection;
+struct osmo_msc_data;
+struct bsc_msc_connection;
 
 struct osmo_bsc_sccp_con {
 	struct llist_head entry;
@@ -15,7 +17,7 @@
 
 	/* SCCP connection realted */
 	struct sccp_connection *sccp;
-	struct bsc_msc_connection *msc_con;
+	struct osmo_msc_data *msc;
 	struct osmo_timer_list sccp_it_timeout;
 	struct osmo_timer_list sccp_cc_timeout;
 
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c
index eb7d38a..04305c2 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_api.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_api.c
@@ -45,18 +45,18 @@
 	} \
 	bsc_queue_for_msc(conn->sccp_con, resp);
 
-static uint16_t get_network_code_for_msc(struct gsm_network *net)
+static uint16_t get_network_code_for_msc(struct osmo_msc_data *msc)
 {
-	if (net->bsc_data->msc.core_ncc != -1)
-		return net->bsc_data->msc.core_ncc;
-	return net->network_code;
+	if (msc->core_ncc != -1)
+		return msc->core_ncc;
+	return msc->network->network_code;
 }
 
-static uint16_t get_country_code_for_msc(struct gsm_network *net)
+static uint16_t get_country_code_for_msc(struct osmo_msc_data *msc)
 {
-	if (net->bsc_data->msc.core_mcc != -1)
-		return net->bsc_data->msc.core_mcc;
-	return net->country_code;
+	if (msc->core_mcc != -1)
+		return msc->core_mcc;
+	return msc->network->country_code;
 }
 
 static void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci)
@@ -89,8 +89,8 @@
 			uint16_t chosen_channel)
 {
 	struct msgb *resp;
-	uint16_t network_code = get_network_code_for_msc(conn->bts->network);
-	uint16_t country_code = get_country_code_for_msc(conn->bts->network);
+	uint16_t network_code;
+	uint16_t country_code;
 
 	LOGP(DMSC, LOGL_INFO, "Tx MSC COMPL L3\n");
 
@@ -98,6 +98,9 @@
 	if (bsc_create_new_connection(conn) != 0)
 		return BSC_API_CONN_POL_REJECT;
 
+	network_code = get_network_code_for_msc(conn->sccp_con->msc);
+	country_code = get_country_code_for_msc(conn->sccp_con->msc);
+
 	bsc_scan_bts_msg(conn, msg);
 	resp = gsm0808_create_layer3(msg, network_code, country_code,
 				     conn->bts->location_area_code,
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
index 30dea0f..529b488 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
@@ -182,13 +182,13 @@
 int bsc_create_new_connection(struct gsm_subscriber_connection *conn)
 {
 	struct gsm_network *net;
-	struct bsc_msc_connection *msc;
+	struct osmo_msc_data *msc;
 	struct osmo_bsc_sccp_con *bsc_con;
 	struct sccp_connection *sccp;
 
 	net = conn->bts->network;
-	msc = net->bsc_data->msc.msc_con;
-	if (!msc->is_authenticated) {
+	msc = &net->bsc_data->msc;
+	if (!msc->msc_con->is_authenticated) {
 		LOGP(DMSC, LOGL_ERROR, "Not connected to a MSC. Not forwarding data.\n");
 		return -1;
 	}
@@ -225,7 +225,7 @@
 	INIT_LLIST_HEAD(&bsc_con->sccp_queue);
 
 	bsc_con->sccp = sccp;
-	bsc_con->msc_con = msc;
+	bsc_con->msc = msc;
 	bsc_con->conn = conn;
 	llist_add_tail(&bsc_con->entry, &active_connections);
 	conn->sccp_con = bsc_con;
