diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index 5d96967..cebb7ae 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -457,10 +457,17 @@
 	return 0;
 }
 
-static struct gsm_network *ipaccess_gsmnet;
+struct gsm_network *ipaccess_gsmnet;
 
 static int bts_model_nanobts_start(struct gsm_network *net)
 {
+	osmo_signal_register_handler(SS_NM, bts_ipa_nm_sig_cb, NULL);
+	ipaccess_gsmnet = net;
+	return 0;
+}
+
+int bts_model_nanobts_init(void)
+{
 	bts_model_nanobts.features.data = &bts_model_nanobts._features_data[0];
 	bts_model_nanobts.features.data_len =
 				sizeof(bts_model_nanobts._features_data);
@@ -468,14 +475,6 @@
 	gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_GPRS);
 	gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_EGPRS);
 
-	osmo_signal_register_handler(SS_NM, bts_ipa_nm_sig_cb, NULL);
-
-	ipaccess_gsmnet = net;
-	return 0;
-}
-
-int bts_model_nanobts_init(void)
-{
 	return gsm_bts_model_register(&bts_model_nanobts);
 }
 
diff --git a/openbsc/src/libbsc/bts_sysmobts.c b/openbsc/src/libbsc/bts_sysmobts.c
index 9479206..754e277 100644
--- a/openbsc/src/libbsc/bts_sysmobts.c
+++ b/openbsc/src/libbsc/bts_sysmobts.c
@@ -38,15 +38,16 @@
 #include <osmocom/abis/ipaccess.h>
 #include <osmocom/core/logging.h>
 
-extern int bts_ipa_nm_sig_cb(unsigned int subsys, unsigned int signal,
-			     void *handler_data, void *signal_data);
-
 extern struct gsm_bts_model bts_model_nanobts;
 
 static struct gsm_bts_model model_sysmobts;
 
-static int bts_model_sysmobts_start(struct gsm_network *net)
+int bts_model_sysmobts_init(void)
 {
+	model_sysmobts = bts_model_nanobts;
+	model_sysmobts.name = "sysmobts";
+	model_sysmobts.type = GSM_BTS_TYPE_OSMO_SYSMO;
+
 	model_sysmobts.features.data = &model_sysmobts._features_data[0];
 	model_sysmobts.features.data_len =
 				sizeof(model_sysmobts._features_data);
@@ -54,18 +55,5 @@
 	gsm_btsmodel_set_feature(&model_sysmobts, BTS_FEAT_GPRS);
 	gsm_btsmodel_set_feature(&model_sysmobts, BTS_FEAT_EGPRS);
 
-	osmo_signal_register_handler(SS_NM, bts_ipa_nm_sig_cb, NULL);
-
-	return 0;
-}
-
-int bts_model_sysmobts_init(void)
-{
-	memcpy(&model_sysmobts, &bts_model_nanobts, sizeof(model_sysmobts));
-
-	model_sysmobts.name = "sysmobts";
-	model_sysmobts.start = bts_model_sysmobts_start;
-	model_sysmobts.type = GSM_BTS_TYPE_OSMO_SYSMO;
-
 	return gsm_bts_model_register(&model_sysmobts);
 }
