diff --git a/openbsc/include/openbsc/paging.h b/openbsc/include/openbsc/paging.h
index 2f17e24..ab6a274 100644
--- a/openbsc/include/openbsc/paging.h
+++ b/openbsc/include/openbsc/paging.h
@@ -33,8 +33,8 @@
 void paging_init(struct gsm_bts *bts);
 
 /* schedule paging request */
-void paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
-		    int type, gsm_cbfn *cbfn, void *data);
+int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
+		   int type, gsm_cbfn *cbfn, void *data);
 
 /* stop paging requests */
 void paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *subscr,
diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/gsm_04_11.c
index 2994d72..8ac596d 100644
--- a/openbsc/src/gsm_04_11.c
+++ b/openbsc/src/gsm_04_11.c
@@ -1025,6 +1025,7 @@
 			   struct gsm_sms *sms)
 {
 	struct gsm_lchan *lchan;
+	int rc;
 
 	/* check if we already have an open lchan to the subscriber.
 	 * if yes, send the SMS this way */
@@ -1034,8 +1035,10 @@
 				     rll_ind_cb, sms);
 
 	/* if not, we have to start paging */
-	paging_request(subscr->net, subscr, RSL_CHANNEED_SDCCH,
-			paging_cb_send_sms, sms);
+	rc = paging_request(subscr->net, subscr, RSL_CHANNEED_SDCCH,
+			    paging_cb_send_sms, sms);
+	if (rc < 0)
+		sms_free(sms);
 
 	return 0;
 }
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index dd22150..062eca8 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -213,7 +213,7 @@
 	paging_remove_request(&req->bts->paging, req);
 }
 
-static void _paging_request(struct gsm_bts *bts, struct gsm_subscriber *subscr,
+static int _paging_request(struct gsm_bts *bts, struct gsm_subscriber *subscr,
 			    int type, gsm_cbfn *cbfn, void *data)
 {
 	struct gsm_bts_paging_state *bts_entry = &bts->paging;
@@ -221,7 +221,7 @@
 
 	if (paging_pending_request(bts_entry, subscr)) {
 		DEBUGP(DPAG, "Paging request already pending\n");
-		return;
+		return -EEXIST;
 	}
 
 	DEBUGP(DPAG, "Start paging of subscriber %llu on bts %d.\n",
@@ -239,12 +239,15 @@
 
 	if (!bsc_timer_pending(&bts_entry->work_timer))
 		bsc_schedule_timer(&bts_entry->work_timer, 1, 0);
+
+	return 0;
 }
 
-void paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
-		    int type, gsm_cbfn *cbfn, void *data)
+int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
+		   int type, gsm_cbfn *cbfn, void *data)
 {
 	struct gsm_bts *bts = NULL;
+	int rc;
 
 	/* start paging subscriber on all BTS within Location Area */
 	do {
@@ -252,9 +255,13 @@
 		if (!bts)
 			break;
 
-		/* Trigger paging */
-		_paging_request(bts, subscr, type, cbfn, data);
+		/* Trigger paging, pass any error to caller */
+		rc = _paging_request(bts, subscr, type, cbfn, data);
+		if (rc < 0)
+			return rc;
 	} while (1);
+
+	return 0;
 }
 
 
