diff --git a/include/openbsc/signal.h b/include/openbsc/signal.h
index 6a0d6fb..eb4fc8d 100644
--- a/include/openbsc/signal.h
+++ b/include/openbsc/signal.h
@@ -32,6 +32,7 @@
 
 
 struct signal_data {
+	int area;
 };
 
 
@@ -48,10 +49,10 @@
 
 /* Management */
 void register_signal_handler(int areas, int (*sig)(struct signal_data *, void *data), void *data);
-void remove_signal_handler(int (*sig)(struct signal_data *, void *data), void *data);
+void remove_signal_handler(int areas, int (*sig)(struct signal_data *, void *data), void *data);
 
 /* Dispatch */
-void dispatch_signal(int area, struct signal_data *data);
+void dispatch_signal(struct signal_data *data);
 
 
 #endif
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 6776632..4d77d5d 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -701,11 +701,14 @@
 		subscr->name ? subscr->name : subscr->imsi);
 
 	struct paging_signal_data sig_data = {
+		.data = {
+			.area = S_PAGING,
+		},
 		.subscr = subscr,
 		.bts	= msg->lchan->ts->trx->bts,
 		.lchan	= msg->lchan,
 	};
-	dispatch_signal(S_PAGING, &sig_data.data);
+	dispatch_signal(&sig_data.data);
 	paging_request_stop(msg->trx->bts, subscr);
 
 	if (!msg->lchan->subscr)
diff --git a/src/paging.c b/src/paging.c
index 761facd..c7fccad 100644
--- a/src/paging.c
+++ b/src/paging.c
@@ -185,12 +185,15 @@
 		req, req->subscr->imsi);
 	
 	struct paging_signal_data sig_data = {
+		.data = {
+			.area = S_PAGING,
+		},
 		.subscr = req->subscr,
 		.bts	= req->bts,
 		.lchan	= NULL,
 	};
 
-	dispatch_signal(S_PAGING, &sig_data.data);
+	dispatch_signal(&sig_data.data);
 	paging_remove_request(&req->bts->paging, req);
 }
 
diff --git a/src/signal.c b/src/signal.c
index d4a4a7c..ea00672 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -48,12 +48,13 @@
 	llist_add_tail(&signal_handler_list, &sig_data->entry);
 }
 
-void remove_signal_handler(int (*sig_handler)(struct signal_data *, void *), void *data)
+void remove_signal_handler(int areas, int (*sig_handler)(struct signal_data *, void *), void *data)
 {
 	struct signal_handler *handler;
 
 	llist_for_each_entry(handler, &signal_handler_list, entry) {
-		if (handler->sig_handler == sig_handler && handler->data == data) {
+		if (handler->sig_handler == sig_handler
+		    && handler->data == data && areas == handler->areas) {
 			llist_del(&handler->entry);
 			free(handler);
 			break;
@@ -62,12 +63,12 @@
 }
 
 
-void dispatch_signal(int area, struct signal_data *data)
+void dispatch_signal(struct signal_data *data)
 {
 	struct signal_handler *handler;
 
 	llist_for_each_entry(handler, &signal_handler_list, entry) {
-		if (handler->areas & area) {
+		if (handler->areas & data->area) {
 		    (*handler->sig_handler)(data, handler->data);
 		}
 	}
