diff --git a/openbsc/src/bsc_vty.c b/openbsc/src/bsc_vty.c
index 3eb91d8..99b050b 100644
--- a/openbsc/src/bsc_vty.c
+++ b/openbsc/src/bsc_vty.c
@@ -449,6 +449,11 @@
 		config_write_e1_link(vty, &bts->oml_e1_link, "  oml ");
 		vty_out(vty, "  oml e1 tei %u%s", bts->oml_tei, VTY_NEWLINE);
 	}
+
+	/* if we have a limit, write it */
+	if (bts->paging.free_chans_need >= 0)
+		vty_out(vty, "  paging free %d%s", bts->paging.free_chans_need, VTY_NEWLINE);
+
 	config_write_bts_gprs(vty, bts);
 
 	llist_for_each_entry(trx, &bts->trx_list, list)
@@ -1773,6 +1778,16 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_bts_pag_free, cfg_bts_pag_free_cmd,
+      "paging free FREE_NR",
+      "Only page when having a certain amount of free slots. -1 to disable")
+{
+	struct gsm_bts *bts = vty->index;
+
+	bts->paging.free_chans_need = atoi(argv[0]);
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_bts_gprs_ns_timer, cfg_bts_gprs_ns_timer_cmd,
 	"gprs ns timer " NS_TIMERS " <0-255>",
 	GPRS_TEXT "Network Service\n"
@@ -2352,6 +2367,7 @@
 	install_element(BTS_NODE, &cfg_bts_gprs_nsvc_lport_cmd);
 	install_element(BTS_NODE, &cfg_bts_gprs_nsvc_rport_cmd);
 	install_element(BTS_NODE, &cfg_bts_gprs_nsvc_rip_cmd);
+	install_element(BTS_NODE, &cfg_bts_pag_free_cmd);
 	install_element(BTS_NODE, &cfg_bts_si_mode_cmd);
 	install_element(BTS_NODE, &cfg_bts_si_static_cmd);
 
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 29b6d07..526b177 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -239,6 +239,7 @@
 
 	bts->rach_b_thresh = -1;
 	bts->rach_ldavg_slots = -1;
+	bts->paging.free_chans_need = -1;
 	llist_add_tail(&bts->list, &net->bts_list);
 
 	return bts;
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index a6bc56d..bca97cf 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -118,6 +118,45 @@
 	paging_handle_pending_requests(paging_bts);
 }
 
+static int can_send_pag_req(struct gsm_bts *bts, int rsl_type)
+{
+	struct pchan_load pl;
+	int count;
+
+	memset(&pl, 0, sizeof(pl));
+	bts_chan_load(&pl, bts);
+
+	switch (rsl_type) {
+	case RSL_CHANNEED_TCH_F:
+		LOGP(DPAG, LOGL_ERROR, "Not implemented.\n");
+		break;
+	case RSL_CHANNEED_TCH_ForH:
+		LOGP(DPAG, LOGL_ERROR, "Not implemented.\n");
+		break;
+	case RSL_CHANNEED_SDCCH:
+		goto count_sdcch;
+		break;
+	case RSL_CHANNEED_ANY:
+	default:
+		if (bts->network->pag_any_tch)
+			LOGP(DPAG, LOGL_ERROR, "Not implemented.\n");
+		else
+			goto count_sdcch;
+		break;
+	}
+
+	return 0;
+
+	/* could available SDCCH */
+count_sdcch:
+	count = 0;
+	count += pl.pchan[GSM_PCHAN_SDCCH8_SACCH8C].total
+			- pl.pchan[GSM_PCHAN_SDCCH8_SACCH8C].used;
+	count += pl.pchan[GSM_PCHAN_CCCH_SDCCH4].total
+			- pl.pchan[GSM_PCHAN_CCCH_SDCCH4].used;
+	return bts->paging.free_chans_need > count;
+}
+
 /*
  * This is kicked by the periodic PAGING LOAD Indicator
  * coming from abis_rsl.c
@@ -154,6 +193,12 @@
 	request = llist_entry(paging_bts->pending_requests.next,
 			      struct gsm_paging_request, entry);
 
+	/* we need to determine the number of free channels */
+	if (paging_bts->free_chans_need != -1) {
+		if (can_send_pag_req(request->bts, request->chan_type) != 0)
+			goto skip_paging;
+	}
+
 	/* handle the paging request now */
 	page_ms(request);
 	paging_bts->available_slots--;
@@ -162,6 +207,7 @@
 	llist_del(&request->entry);
 	llist_add_tail(&request->entry, &paging_bts->pending_requests);
 
+skip_paging:
 	bsc_schedule_timer(&paging_bts->work_timer, PAGING_TIMER);
 }
 
