diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 0195b0b..4162944 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -414,8 +414,8 @@
 /* bridge channels of two transactions */
 static int tch_bridge(struct gsm_network *net, const struct gsm_mncc_bridge *bridge)
 {
-	struct gsm_trans *trans1 = trans_find_by_callref(net, bridge->callref[0]);
-	struct gsm_trans *trans2 = trans_find_by_callref(net, bridge->callref[1]);
+	struct gsm_trans *trans1 = trans_find_by_callref(net, TRANS_CC, bridge->callref[0]);
+	struct gsm_trans *trans2 = trans_find_by_callref(net, TRANS_CC, bridge->callref[1]);
 	struct call_leg *cl1;
 	struct call_leg *cl2;
 
@@ -537,8 +537,8 @@
 static inline void disconnect_bridge(struct gsm_network *net,
 				     const struct gsm_mncc_bridge *bridge, int err)
 {
-	struct gsm_trans *trans0 = trans_find_by_callref(net, bridge->callref[0]);
-	struct gsm_trans *trans1 = trans_find_by_callref(net, bridge->callref[1]);
+	struct gsm_trans *trans0 = trans_find_by_callref(net, TRANS_CC, bridge->callref[0]);
+	struct gsm_trans *trans1 = trans_find_by_callref(net, TRANS_CC, bridge->callref[1]);
 	struct gsm_mncc mx_rel;
 	if (!trans0 || !trans1)
 		return;
@@ -1995,7 +1995,7 @@
 	struct gsm_trans *trans;
 
 	/* Find callref */
-	trans = trans_find_by_callref(net, rtp->callref);
+	trans = trans_find_by_callref(net, TRANS_CC, rtp->callref);
 	if (!trans) {
 		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP create for non-existing trans\n");
 		mncc_recv_rtp_err(net, trans, rtp->callref, MNCC_RTP_CREATE);
@@ -2120,7 +2120,7 @@
 	struct rtp_stream *rtps;
 
 	/* Find callref */
-	trans = trans_find_by_callref(net, rtp->callref);
+	trans = trans_find_by_callref(net, TRANS_CC, rtp->callref);
 	if (!trans) {
 		LOG_TRANS_CAT(trans, DMNCC, LOGL_ERROR, "RTP connect for non-existing trans\n");
 		mncc_recv_rtp_err(net, trans, rtp->callref, MNCC_RTP_CONNECT);
@@ -2257,7 +2257,7 @@
 	data = &msg->signal;
 
 	/* Find callref */
-	trans = trans_find_by_callref(net, data->callref);
+	trans = trans_find_by_callref(net, TRANS_CC, data->callref);
 
 	/* Callref unknown */
 	if (!trans) {
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index d94be48..e293890 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -441,7 +441,7 @@
 	log_set_context(LOG_CTX_VLR_SUBSCR, vsub);
 
 	/* Attempt to find DTAP-transaction */
-	trans = trans_find_by_callref(net, gsup_msg->session_id);
+	trans = trans_find_by_callref(net, TRANS_USSD, gsup_msg->session_id);
 
 	/* Handle errors */
 	if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) {
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c
index 190da29..21f0b8b 100644
--- a/src/libmsc/transaction.c
+++ b/src/libmsc/transaction.c
@@ -73,16 +73,17 @@
 
 /*! Find a transaction by call reference
  * \param[in] net Network in which we should search
+ * \param[in] type Transaction type (e.g. TRANS_CC)
  * \param[in] callref Call Reference of transaction
  * \returns Matching transaction, if any
  */
-struct gsm_trans *trans_find_by_callref(const struct gsm_network *net,
+struct gsm_trans *trans_find_by_callref(const struct gsm_network *net, enum trans_type type,
 					uint32_t callref)
 {
 	struct gsm_trans *trans;
 
 	llist_for_each_entry(trans, &net->trans_list, entry) {
-		if (trans->callref == callref)
+		if (trans->callref == callref && trans->type == type)
 			return trans;
 	}
 	return NULL;
