diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c
index 90b2f38..8610604 100644
--- a/src/tests/hnb-test.c
+++ b/src/tests/hnb-test.c
@@ -106,6 +106,32 @@
 	return hnb_test_ue_register_tx(hnb);
 }
 
+int hnb_test_rx_ue_register_acc(struct hnb_test *hnb, ANY_t *in)
+{
+	int rc;
+	uint32_t ctx_id;
+	UERegisterAcceptIEs_t accept;
+	char imsi[16];
+
+	rc = hnbap_decode_ueregisteraccepties(&accept, in);
+	if (rc < 0) {
+		return rc;
+	}
+
+	if (accept.uE_Identity.present != UE_Identity_PR_iMSI) {
+		printf("Wrong type in UE register accept\n");
+		return -1;
+	}
+
+	ctx_id = asn1bitstr_to_u24(&accept.context_ID);
+
+	decode_iu_bcd(imsi, sizeof(imsi), accept.uE_Identity.choice.iMSI.buf,
+			accept.uE_Identity.choice.iMSI.size);
+	printf("UE Register accept for IMSI %s, context %u\n", imsi, ctx_id);
+
+	return 0;
+}
+
 int hnb_test_hnbap_rx(struct hnb_test *hnb, struct msgb *msg)
 {
 	HNBAP_PDU_t _pdu, *pdu = &_pdu;
@@ -130,6 +156,7 @@
 		rc = hnb_test_rx_hnb_register_acc(hnb, &pdu->choice.successfulOutcome.value);
 		break;
 	case ProcedureCode_id_UERegister:
+		rc = hnb_test_rx_ue_register_acc(hnb, &pdu->choice.successfulOutcome.value);
 		break;
 	default:
 		break;
