diff --git a/src/paging.c b/src/paging.c
index daa8c06..0734a3f 100644
--- a/src/paging.c
+++ b/src/paging.c
@@ -99,9 +99,8 @@
 			request->chan_type);
 }
 
-static void paging_handle_pending_requests(void *data) {
-	struct gsm_bts_paging_state *paging_bts =
-				(struct gsm_bts_paging_state *)data;
+static void paging_handle_pending_requests(struct gsm_bts_paging_state *paging_bts)
+{
 	struct gsm_paging_request *request = NULL;
 
 	if (!paging_bts->last_request)
@@ -121,19 +120,15 @@
 		(struct gsm_paging_request *)paging_bts->last_request->entry.next;
 	if (&paging_bts->last_request->entry == &paging_bts->pending_requests)
 		paging_bts->last_request = NULL;
-
-	schedule_timer(&paging_bts->paging_timer, PAGING_TIMEOUT);
 }
 
 void paging_init(struct gsm_bts *bts)
 {
 	bts->paging.bts = bts;
 	INIT_LLIST_HEAD(&bts->paging.pending_requests);
-	bts->paging.paging_timer.cb = paging_handle_pending_requests;
-	bts->paging.paging_timer.data = &bts->paging;
 
 	/* Large number, until we get a proper message */
-	bts->paging.available_slots = 0xffff;
+	bts->paging.available_slots = 0x0;
 }
 
 static int paging_pending_request(struct gsm_bts_paging_state *bts,
@@ -174,8 +169,6 @@
 
 	if (!paging_pending_request(bts_entry, subscr)) {
 		llist_add_tail(&req->entry, &bts_entry->pending_requests);
-		if (!timer_pending(&bts_entry->paging_timer))
-			schedule_timer(&bts_entry->paging_timer, PAGING_TIMEOUT);
 	} else {
 		DEBUGP(DPAG, "Paging request already pending\n");
 	}
@@ -199,4 +192,5 @@
 void paging_update_buffer_space(struct gsm_bts *bts, u_int16_t free_slots)
 {
 	bts->paging.available_slots = free_slots;
+	paging_handle_pending_requests(&bts->paging);
 }
