diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 746ee33..bd56510 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -691,6 +691,37 @@
 	f_cleanup();
 }
 
+private function f_TC_ra_capability_upd(charstring id) runs on BSSGP_ConnHdlr {
+	var integer i;
+	var OCT1 tag;
+	for (i := 0; i < 10; i := i+1) {
+		tag := int2oct(23 + i, 1);
+		var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_RA_CAP_UPD(g_pars.tlli, tag);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_RA_CAP_UPD(g_pars.tlli, tag)
+
+		f_pcu2sgsn(pdu_tx, pdu_rx);
+
+		pdu_tx := ts_BSSGP_RA_CAP_UPD_ACK(g_pars.tlli, tag, '42'O);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		pdu_rx := tr_BSSGP_RA_CAP_UPD_ACK(g_pars.tlli, tag, '42'O)
+
+		f_sgsn2pcu(pdu_tx, pdu_rx);
+	}
+	setverdict(pass);
+}
+testcase TC_ra_capability_upd() runs on test_CT
+{
+	var BSSGP_ConnHdlr vc_conn;
+	f_init();
+
+	vc_conn := f_start_handler(refers(f_TC_ra_capability_upd), testcasename(), g_pcu, g_sgsn, 3);
+	vc_conn.done;
+	/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
+
+	f_cleanup();
+}
+
 
 
 
@@ -699,6 +730,7 @@
 	execute( TC_ul_unitdata() );
 	execute( TC_dl_unitdata() );
 	execute( TC_ra_capability() );
+	execute( TC_ra_capability_upd() );
 }
 
 
