diff --git a/openbsc/src/libbsc/gsm_subscriber_base.c b/openbsc/src/libbsc/gsm_subscriber_base.c
index 11afb35..747a699 100644
--- a/openbsc/src/libbsc/gsm_subscriber_base.c
+++ b/openbsc/src/libbsc/gsm_subscriber_base.c
@@ -35,7 +35,7 @@
 void *tall_subscr_ctx;
 
 /* for the gsm_subscriber.c */
-struct llist_head *subscr_bsc_active_subscriber(void)
+struct llist_head *subscr_bsc_active_subscribers(void)
 {
 	return &active_subscribers;
 }
@@ -95,7 +95,7 @@
 {
 	struct gsm_subscriber *subscr;
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (strcmp(subscr->imsi, imsi) == 0 && subscr->net == net)
 			return subscr_get(subscr);
 	}
@@ -113,7 +113,7 @@
 {
 	struct gsm_subscriber *subscr;
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (subscr->tmsi == tmsi && subscr->net == net)
 			return subscr_get(subscr);
 	}
@@ -125,7 +125,7 @@
 {
 	struct gsm_subscriber *subscr;
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (strcmp(subscr->imsi, imsi) == 0 && subscr->net == net)
 			return subscr_get(subscr);
 	}
@@ -138,7 +138,7 @@
 	struct gsm_subscriber *subscr, *tmp;
 	int purged = 0;
 
-	llist_for_each_entry_safe(subscr, tmp, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry_safe(subscr, tmp, subscr_bsc_active_subscribers(), entry) {
 		if (subscr->net == net && subscr->use_count <= 0) {
 			subscr_free(subscr);
 			purged += 1;
diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
index f9eebc8..0889400 100644
--- a/openbsc/src/libmsc/gsm_subscriber.c
+++ b/openbsc/src/libmsc/gsm_subscriber.c
@@ -39,7 +39,7 @@
 
 void *tall_sub_req_ctx;
 
-extern struct llist_head *subscr_bsc_active_subscriber(void);
+extern struct llist_head *subscr_bsc_active_subscribers(void);
 
 int gsm48_secure_channel(struct gsm_subscriber_connection *conn, int key_seq,
                          gsm_cbfn *cb, void *cb_data);
@@ -272,7 +272,7 @@
 	struct gsm_subscriber *subscr;
 
 	/* we might have a record in memory already */
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (tmsi == subscr->tmsi)
 			return subscr_get(subscr);
 	}
@@ -286,7 +286,7 @@
 {
 	struct gsm_subscriber *subscr;
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (strcmp(subscr->imsi, imsi) == 0)
 			return subscr_get(subscr);
 	}
@@ -299,7 +299,7 @@
 {
 	struct gsm_subscriber *subscr;
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (strcmp(subscr->extension, ext) == 0)
 			return subscr_get(subscr);
 	}
@@ -314,7 +314,7 @@
 	char buf[32];
 	sprintf(buf, "%llu", id);
 
-	llist_for_each_entry(subscr, subscr_bsc_active_subscriber(), entry) {
+	llist_for_each_entry(subscr, subscr_bsc_active_subscribers(), entry) {
 		if (subscr->id == id)
 			return subscr_get(subscr);
 	}
