diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index dce1ef3..26831d1 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -1459,6 +1459,35 @@
 	f_cleanup();
 }
 
+private function f_TC_flush_ll(charstring id) runs on BSSGP_ConnHdlr {
+	var BssgpBvci bvci := g_pars.pcu[0].cfg.bvc[0].bvci;
+	var integer i;
+	for (i := 0; i < 10; i := i+1) {
+		var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_FLUSH_LL(g_pars.tlli, bvci, bvci_new := bvci);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_FLUSH_LL(g_pars.tlli, bvci, bvci_new := bvci);
+
+		f_sgsn2pcu(pdu_tx, pdu_rx, use_sig := true);
+
+		pdu_tx := ts_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23, bvci_new := bvci);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		pdu_rx := tr_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23, bvci_new := bvci);
+
+		f_pcu2sgsn(pdu_tx, pdu_rx, use_sig := true);
+	}
+	setverdict(pass);
+}
+testcase TC_flush_ll() runs on test_CT
+{
+	var BSSGP_ConnHdlr vc_conn;
+	f_init();
+
+	vc_conn := f_start_handler(refers(f_TC_flush_ll), testcasename(), g_pcu, g_sgsn, 6);
+	vc_conn.done;
+	/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
+
+	f_cleanup();
+}
 
 control {
 	execute( TC_BVC_bringup() );
@@ -1499,6 +1528,7 @@
 	execute( TC_paging_cs_sig_bvci() );
 
 
+	execute( TC_flush_ll() );
 }
 
 
