diff --git a/include/openbsc/sgsn.h b/include/openbsc/sgsn.h
index 1ede2c9..1ed1583 100644
--- a/include/openbsc/sgsn.h
+++ b/include/openbsc/sgsn.h
@@ -140,8 +140,8 @@
 
 /* sgsn_vty.c */
 
-int sgsn_vty_init(void);
-int sgsn_parse_config(const char *config_file, struct sgsn_config *cfg);
+int sgsn_vty_init(struct sgsn_config *cfg);
+int sgsn_parse_config(const char *config_file);
 
 /* sgsn.c */
 
diff --git a/src/gprs/sgsn_main.c b/src/gprs/sgsn_main.c
index 41cebef..d871939 100644
--- a/src/gprs/sgsn_main.c
+++ b/src/gprs/sgsn_main.c
@@ -350,7 +350,7 @@
 	vty_init(&vty_info);
 	logging_vty_add_cmds(NULL);
 	osmo_stats_vty_add_cmds(&gprs_log_info);
-	sgsn_vty_init();
+	sgsn_vty_init(&sgsn_inst.cfg);
 	ctrl_vty_init(tall_bsc_ctx);
 #ifdef BUILD_IU
 	iu_vty_init(&asn_debug);
@@ -382,7 +382,7 @@
 	sgsn_cdr_init(&sgsn_inst);
 	/* FIXME: register signal handler for SS_L_NS */
 
-	rc = sgsn_parse_config(sgsn_inst.config_file, &sgsn_inst.cfg);
+	rc = sgsn_parse_config(sgsn_inst.config_file);
 	if (rc < 0) {
 		LOGP(DGPRS, LOGL_FATAL, "Error in config file\n");
 		exit(2);
diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c
index e09a029..1cefe37 100644
--- a/src/gprs/sgsn_vty.c
+++ b/src/gprs/sgsn_vty.c
@@ -1222,8 +1222,10 @@
 	return CMD_SUCCESS;
 }
 
-int sgsn_vty_init(void)
+int sgsn_vty_init(struct sgsn_config *cfg)
 {
+	g_cfg = cfg;
+
 	install_element_ve(&show_sgsn_cmd);
 	//install_element_ve(&show_mmctx_tlli_cmd);
 	install_element_ve(&show_mmctx_imsi_cmd);
@@ -1285,11 +1287,12 @@
 	return 0;
 }
 
-int sgsn_parse_config(const char *config_file, struct sgsn_config *cfg)
+int sgsn_parse_config(const char *config_file)
 {
 	int rc;
 
-	g_cfg = cfg;
+	/* make sure sgsn_vty_init() was called before this */
+	OSMO_ASSERT(g_cfg);
 
 	g_cfg->timers.T3312 = GSM0408_T3312_SECS;
 	g_cfg->timers.T3322 = GSM0408_T3322_SECS;
