diff --git a/openbsc/include/openbsc/gsm_subscriber.h b/openbsc/include/openbsc/gsm_subscriber.h
index 1ca79e2..f787aeb 100644
--- a/openbsc/include/openbsc/gsm_subscriber.h
+++ b/openbsc/include/openbsc/gsm_subscriber.h
@@ -31,6 +31,9 @@
 	u_int8_t classmark2[3];
 	u_int8_t classmark3_len;
 	u_int8_t classmark3[14];
+
+	/* pending requests */
+	struct llist_head requests;
 };
 
 enum gsm_subscriber_field {
@@ -51,6 +54,9 @@
 struct gsm_subscriber *subscr_get_by_extension(const char *ext);
 int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts, int reason);
 void subscr_put_channel(struct gsm_lchan *lchan);
+void subscr_get_channel(struct gsm_subscriber *subscr,
+                        struct gsm_network *network, int type,
+		        gsm_cbfn *cbfn, void *param);
 
 /* internal */
 struct gsm_subscriber *subscr_alloc(void);
diff --git a/openbsc/include/openbsc/paging.h b/openbsc/include/openbsc/paging.h
index de512d1..2f17e24 100644
--- a/openbsc/include/openbsc/paging.h
+++ b/openbsc/include/openbsc/paging.h
@@ -33,7 +33,7 @@
 void paging_init(struct gsm_bts *bts);
 
 /* schedule paging request */
-void paging_request(struct gsm_bts *bts, struct gsm_subscriber *subscr,
+void paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
 		    int type, gsm_cbfn *cbfn, void *data);
 
 /* stop paging requests */
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index 804c15d..fd4be2f 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -1333,7 +1333,7 @@
 	call->called_subscr = called_subscr;
 
 	/* Start paging subscriber on all BTS in LAC of subscriber */
-	paging_request(msg->trx->bts, called_subscr, RSL_CHANNEED_TCH_F,
+	subscr_get_channel(called_subscr, msg->trx->bts->network, RSL_CHANNEED_TCH_F,
 		       setup_trig_pag_evt, call);
 
 	/* send a CALL PROCEEDING message to the MO */
diff --git a/openbsc/src/gsm_subscriber.c b/openbsc/src/gsm_subscriber.c
index 3f608ec..3a81793 100644
--- a/openbsc/src/gsm_subscriber.c
+++ b/openbsc/src/gsm_subscriber.c
@@ -27,6 +27,7 @@
 #include <string.h>
 
 #include <openbsc/gsm_subscriber.h>
+#include <openbsc/paging.h>
 #include <openbsc/debug.h>
 #include <openbsc/db.h>
 
@@ -45,6 +46,8 @@
 	llist_add_tail(&s->entry, &active_subscribers);
 	s->use_count = 1;
 
+	INIT_LLIST_HEAD(&s->requests);
+
 	return s;
 }
 
@@ -131,6 +134,13 @@
 	return NULL;
 }
 
+void subscr_get_channel(struct gsm_subscriber *subscr,
+			struct gsm_network *network, int type,
+			gsm_cbfn *cbfn, void *param)
+{
+	paging_request(network, subscr, type, cbfn, param);
+}
+
 void subscr_put_channel(struct gsm_lchan *lchan)
 {
 	/*
@@ -141,3 +151,4 @@
 	 */
 	put_lchan(lchan);
 }
+
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index df11da0..8f15e16 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -237,13 +237,13 @@
 		bsc_schedule_timer(&bts_entry->work_timer, 1, 0);
 }
 
-void paging_request(struct gsm_bts *_bts, struct gsm_subscriber *subscr,
+void paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
 		    int type, gsm_cbfn *cbfn, void *data)
 {
 	struct gsm_bts *bts = NULL;
 
 	do {
-		bts = gsm_bts_by_lac(_bts->network, subscr->lac, bts);
+		bts = gsm_bts_by_lac(network, subscr->lac, bts);
 		if (!bts)
 			break;
 
