diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index 520eed0..e807052 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -971,9 +971,9 @@
 }
 
 /* Receive a PAGING RESPONSE message from the MS */
-static int gsm48_rx_rr_pag_resp(struct msgb *msg)
+static int gsm48_rx_rr_pag_resp(struct gsm_subscriber_connection *conn, struct msgb *msg)
 {
-	struct gsm_bts *bts = msg->lchan->ts->trx->bts;
+	struct gsm_bts *bts = conn->bts;
 	struct gsm48_hdr *gh = msgb_l3(msg);
 	struct gsm48_pag_resp *resp;
 	u_int8_t *classmark2_lv = gh->data + 1;
@@ -1010,7 +1010,7 @@
 	memcpy(subscr->equipment.classmark2, classmark2_lv+1, *classmark2_lv);
 	db_sync_equipment(&subscr->equipment);
 
-	rc = gsm48_handle_paging_resp(msg, subscr);
+	rc = gsm48_handle_paging_resp(conn, msg, subscr);
 	return rc;
 }
 
@@ -1172,7 +1172,7 @@
 		DEBUGP(DRR, "GRPS SUSPEND REQUEST\n");
 		break;
 	case GSM48_MT_RR_PAG_RESP:
-		rc = gsm48_rx_rr_pag_resp(msg);
+		rc = gsm48_rx_rr_pag_resp(conn, msg);
 		break;
 	case GSM48_MT_RR_CHAN_MODE_MODIF_ACK:
 		rc = gsm48_rx_rr_modif_ack(msg);
diff --git a/openbsc/src/gsm_04_08_utils.c b/openbsc/src/gsm_04_08_utils.c
index 0b009d1..72de3b4 100644
--- a/openbsc/src/gsm_04_08_utils.c
+++ b/openbsc/src/gsm_04_08_utils.c
@@ -244,7 +244,8 @@
 				mi_string, mi_type);
 }
 
-int gsm48_handle_paging_resp(struct msgb *msg, struct gsm_subscriber *subscr)
+int gsm48_handle_paging_resp(struct gsm_subscriber_connection *conn,
+			     struct msgb *msg, struct gsm_subscriber *subscr)
 {
 	struct gsm_bts *bts = msg->lchan->ts->trx->bts;
 	struct gsm48_hdr *gh = msgb_l3(msg);
@@ -254,28 +255,28 @@
 	if (is_siemens_bts(bts))
 		send_siemens_mrpci(msg->lchan, classmark2_lv);
 
-	if (!msg->lchan->conn.subscr) {
-		msg->lchan->conn.subscr = subscr;
-	} else if (msg->lchan->conn.subscr != subscr) {
+	if (!conn->subscr) {
+		conn->subscr = subscr;
+	} else if (conn->subscr != subscr) {
 		LOGP(DRR, LOGL_ERROR, "<- Channel already owned by someone else?\n");
 		subscr_put(subscr);
 		return -EINVAL;
 	} else {
 		DEBUGP(DRR, "<- Channel already owned by us\n");
 		subscr_put(subscr);
-		subscr = msg->lchan->conn.subscr;
+		subscr = conn->subscr;
 	}
 
 	sig_data.subscr = subscr;
-	sig_data.bts	= msg->lchan->ts->trx->bts;
-	sig_data.conn	= &msg->lchan->conn;
+	sig_data.bts	= conn->bts;
+	sig_data.conn	= conn;
 
 	counter_inc(bts->network->stats.paging.completed);
 
 	dispatch_signal(SS_PAGING, S_PAGING_SUCCEEDED, &sig_data);
 
 	/* Stop paging on the bts we received the paging response */
-	paging_request_stop(msg->trx->bts, subscr, &msg->lchan->conn);
+	paging_request_stop(conn->bts, subscr, conn);
 	return 0;
 }
 
