diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index 48fb29d..74f50fb 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -647,7 +647,7 @@
 		 * sgsn_auth_update which in turn calls
 		 * gsm0408_gprs_access_granted or gsm0408_gprs_access_denied */
 
-		sgsn_auth_request(ctx, &sgsn->cfg);
+		sgsn_auth_request(ctx);
 		/* Note that gsm48_gmm_authorize can be called recursively via
 		 * sgsn_auth_request iff ctx->auth_info changes to AUTH_ACCEPTED
 		 */
diff --git a/openbsc/src/gprs/gprs_sgsn.c b/openbsc/src/gprs/gprs_sgsn.c
index 9fc4b86..62cdf0a 100644
--- a/openbsc/src/gprs/gprs_sgsn.c
+++ b/openbsc/src/gprs/gprs_sgsn.c
@@ -455,5 +455,5 @@
 {
 	OSMO_ASSERT(mmctx);
 
-	sgsn_auth_update(mmctx, sgsn);
+	sgsn_auth_update(mmctx);
 }
diff --git a/openbsc/src/gprs/sgsn_auth.c b/openbsc/src/gprs/sgsn_auth.c
index 0407e9e..eb85d45 100644
--- a/openbsc/src/gprs/sgsn_auth.c
+++ b/openbsc/src/gprs/sgsn_auth.c
@@ -34,9 +34,9 @@
 
 const struct value_string *sgsn_auth_state_names = auth_state_names;
 
-void sgsn_auth_init(struct sgsn_instance *sgi)
+void sgsn_auth_init(void)
 {
-	INIT_LLIST_HEAD(&sgi->cfg.imsi_acl);
+	INIT_LLIST_HEAD(&sgsn->cfg.imsi_acl);
 }
 
 /* temporary IMSI ACL hack */
@@ -81,8 +81,7 @@
 	return 0;
 }
 
-enum sgsn_auth_state sgsn_auth_state(struct sgsn_mm_ctx *mmctx,
-				     struct sgsn_config *cfg)
+enum sgsn_auth_state sgsn_auth_state(struct sgsn_mm_ctx *mmctx)
 {
 	char mccmnc[16];
 	int check_net = 0;
@@ -125,22 +124,22 @@
 	return SGSN_AUTH_REJECTED;
 }
 
-int sgsn_auth_request(struct sgsn_mm_ctx *mmctx, struct sgsn_config *cfg)
+int sgsn_auth_request(struct sgsn_mm_ctx *mmctx)
 {
 	/* TODO: Add remote subscriber update requests here */
 
-	sgsn_auth_update(mmctx, sgsn);
+	sgsn_auth_update(mmctx);
 
 	return 0;
 }
 
-void sgsn_auth_update(struct sgsn_mm_ctx *mmctx, struct sgsn_instance *sgi)
+void sgsn_auth_update(struct sgsn_mm_ctx *mmctx)
 {
 	enum sgsn_auth_state auth_state;
 
 	LOGMMCTXP(LOGL_DEBUG, mmctx, "Updating authorization\n");
 
-	auth_state = sgsn_auth_state(mmctx, &sgi->cfg);
+	auth_state = sgsn_auth_state(mmctx);
 	if (auth_state == SGSN_AUTH_UNKNOWN) {
 		/* Reject requests since remote updates are NYI */
 		LOGMMCTXP(LOGL_ERROR, mmctx,
diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c
index c7c852d..0310cb2 100644
--- a/openbsc/src/gprs/sgsn_main.c
+++ b/openbsc/src/gprs/sgsn_main.c
@@ -345,7 +345,7 @@
 	bssgp_vty_init();
 	gprs_llc_vty_init();
 	gprs_sndcp_vty_init();
-	sgsn_auth_init(&sgsn_inst);
+	sgsn_auth_init();
 	/* FIXME: register signal handler for SS_L_NS */
 
 	rc = sgsn_parse_config(sgsn_inst.config_file, &sgsn_inst.cfg);
