diff --git a/openbsc/include/openbsc/transaction.h b/openbsc/include/openbsc/transaction.h
index b8a8ba2..795b9cd 100644
--- a/openbsc/include/openbsc/transaction.h
+++ b/openbsc/include/openbsc/transaction.h
@@ -61,7 +61,7 @@
 
 
 
-struct gsm_trans *trans_find_by_id(struct gsm_subscriber *subscr,
+struct gsm_trans *trans_find_by_id(struct gsm_subscriber_connection *conn,
 				   uint8_t proto, uint8_t trans_id);
 struct gsm_trans *trans_find_by_callref(struct gsm_network *net,
 					uint32_t callref);
@@ -71,7 +71,7 @@
 			      uint32_t callref);
 void trans_free(struct gsm_trans *trans);
 
-int trans_assign_trans_id(struct gsm_subscriber *subscr,
+int trans_assign_trans_id(struct gsm_network *net, struct gsm_subscriber *subscr,
 			  uint8_t protocol, uint8_t ti_flag);
 int trans_has_conn(const struct gsm_subscriber_connection *conn);
 
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 82be4d1..8916fe6 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1924,7 +1924,8 @@
 	}
 	
 	/* Get free transaction_id */
-	trans_id = trans_assign_trans_id(trans->subscr, GSM48_PDISC_CC, 0);
+	trans_id = trans_assign_trans_id(trans->net, trans->subscr,
+					 GSM48_PDISC_CC, 0);
 	if (trans_id < 0) {
 		/* no free transaction ID */
 		rc = mncc_release_ind(trans->net, trans, trans->callref,
@@ -3240,7 +3241,7 @@
 	}
 
 	/* Find transaction */
-	trans = trans_find_by_id(conn->subscr, GSM48_PDISC_CC, transaction_id);
+	trans = trans_find_by_id(conn, GSM48_PDISC_CC, transaction_id);
 
 	DEBUGP(DCC, "(bts %d trx %d ts %d ti %x sub %s) "
 		"Received '%s' from MS in state %d (%s)\n",
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index b2100d8..1c46b96 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -749,8 +749,7 @@
 		/* FIXME: send some error message */
 
 	DEBUGP(DLSMS, "receiving data (trans_id=%x)\n", transaction_id);
-	trans = trans_find_by_id(conn->subscr, GSM48_PDISC_SMS,
-				 transaction_id);
+	trans = trans_find_by_id(conn, GSM48_PDISC_SMS, transaction_id);
 
 	/*
 	 * A transaction we created but don't know about?
@@ -795,8 +794,7 @@
 			if (i == transaction_id)
 				continue;
 
-			ptrans = trans_find_by_id(conn->subscr,
-			                          GSM48_PDISC_SMS, i);
+			ptrans = trans_find_by_id(conn, GSM48_PDISC_SMS, i);
 			if (!ptrans)
 				continue;
 
@@ -827,7 +825,8 @@
 	int rc;
 
 	transaction_id =
-		trans_assign_trans_id(conn->subscr, GSM48_PDISC_SMS, 0);
+		trans_assign_trans_id(conn->bts->network, conn->subscr,
+				      GSM48_PDISC_SMS, 0);
 	if (transaction_id == -1) {
 		LOGP(DLSMS, LOGL_ERROR, "No available transaction ids\n");
 		send_signal(S_SMS_UNKNOWN_ERROR, NULL, sms, 0);
diff --git a/openbsc/src/libmsc/transaction.c b/openbsc/src/libmsc/transaction.c
index 3bed672..4d3aeac 100644
--- a/openbsc/src/libmsc/transaction.c
+++ b/openbsc/src/libmsc/transaction.c
@@ -33,11 +33,12 @@
 
 void _gsm48_cc_trans_free(struct gsm_trans *trans);
 
-struct gsm_trans *trans_find_by_id(struct gsm_subscriber *subscr,
+struct gsm_trans *trans_find_by_id(struct gsm_subscriber_connection *conn,
 				   uint8_t proto, uint8_t trans_id)
 {
 	struct gsm_trans *trans;
-	struct gsm_network *net = subscr->net;
+	struct gsm_network *net = conn->bts->network;
+	struct gsm_subscriber *subscr = conn->subscr;
 
 	llist_for_each_entry(trans, &net->trans_list, entry) {
 		if (trans->subscr == subscr &&
@@ -121,10 +122,9 @@
 
 /* allocate an unused transaction ID for the given subscriber
  * in the given protocol using the ti_flag specified */
-int trans_assign_trans_id(struct gsm_subscriber *subscr,
+int trans_assign_trans_id(struct gsm_network *net, struct gsm_subscriber *subscr,
 			  uint8_t protocol, uint8_t ti_flag)
 {
-	struct gsm_network *net = subscr->net;
 	struct gsm_trans *trans;
 	unsigned int used_tid_bitmask = 0;
 	int i, j, h;
