diff --git a/openbsc/src/osmo-bsc_nat/bsc_ussd.c b/openbsc/src/osmo-bsc_nat/bsc_ussd.c
index 968456b..2241896 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_ussd.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_ussd.c
@@ -351,7 +351,7 @@
 	state->invoke_id = req->invoke_id;
 	memcpy(&state->src_ref, &con->remote_ref, sizeof(con->remote_ref));
 	memcpy(&state->dst_ref, &con->real_ref, sizeof(con->real_ref));
-	memcpy(state->imsi, con->imsi, strlen(con->imsi));
+	memcpy(state->imsi, con->filter_state.imsi, strlen(con->filter_state.imsi));
 
 	/* add additional tag/values */
 	lac = htons(con->lac);
@@ -385,7 +385,7 @@
 	if (con->con_type != NAT_CON_TYPE_SSA)
 		return 0;
 
-	if (!con->imsi)
+	if (!con->filter_state.imsi)
 		return 0;
 
 	/* We have not verified the IMSI yet */
@@ -400,7 +400,7 @@
 	if (parsed->bssap != BSSAP_MSG_DTAP)
 		return 0;
 
-	if (strlen(con->imsi) >= GSM_IMSI_LENGTH)
+	if (strlen(con->filter_state.imsi) >= GSM_IMSI_LENGTH)
 		return 0;
 
 	hdr48 = bsc_unpack_dtap(parsed, msg, &len);
@@ -421,7 +421,7 @@
 		if (!lst)
 			return 0;
 
-		if (bsc_msg_acc_lst_check_allow(lst, con->imsi) != 0)
+		if (bsc_msg_acc_lst_check_allow(lst, con->filter_state.imsi) != 0)
 			return 0;
 
 		/* now decode the message and see if we really want to handle it */
@@ -436,14 +436,15 @@
 			return 0;
 
 		/* found a USSD query for our subscriber */
-		LOGP(DNAT, LOGL_NOTICE, "Found USSD query for %s\n", con->imsi);
+		LOGP(DNAT, LOGL_NOTICE, "Found USSD query for %s\n",
+			con->filter_state.imsi);
 		con->ussd_ti[ti] = 1;
 		if (forward_ussd(con, &req, msg) != 0)
 			return 0;
 		return 1;
 	} else if (msg_type == GSM0480_MTYPE_FACILITY && con->ussd_ti[ti]) {
 		LOGP(DNAT, LOGL_NOTICE, "Forwarding message part of TI: %d %s\n",
-		     ti, con->imsi);
+		     ti, con->filter_state.imsi);
 		if (forward_ussd_simple(con, msg) != 0)
 			return 0;
 		return 1;
