diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 261d969..e68a20d 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -349,6 +349,7 @@
 	t_guard := t_guard,
 	l1_pars := {
 		dtx_enabled := false,
+		toa256_enabled := false,
 		meas_ul := {
 			full := {
 				rxlev := dbm2rxlev(-53),
@@ -689,6 +690,7 @@
 
 type record ConnL1Pars {
 	boolean dtx_enabled,
+	boolean toa256_enabled,
 	MeasElemFS meas_ul,
 	int16_t timing_offset_256syms,
 	uint5_t bs_power_level,
@@ -716,6 +718,10 @@
 		rxq_s_u := l1p.meas_ul.sub.rxqual,
 		supp_meas_info := omit
 	};
+	if (l1p.toa256_enabled) {
+		ul_meas.len := 5;
+		ul_meas.supp_meas_info := int2oct(l1p.timing_offset_256syms, 2);
+	}
 	/* HACK HACK HACK FIXME HACK HACK HACK see https://osmocom.org/issues/2988 */
 	ul_meas.rxlev_f_u := ?;
 	ul_meas.rxlev_s_u := ?;
@@ -872,6 +878,19 @@
 		vc_conn.done;
 	}
 }
+testcase TC_meas_res_sign_tchh_toa256() runs on test_CT {
+	var ConnHdlr vc_conn;
+	var ConnHdlrPars pars;
+	f_init(testcasename());
+	f_vty_config(BTSVTY, "bts 0", "supp-meas-info toa256");
+	for (var integer ss := 0; ss <= 1; ss := ss+1) {
+		pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN));
+		pars.l1_pars.toa256_enabled := true;
+		vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars);
+		vc_conn.done;
+	}
+}
+
 
 /* Test if a channel without valid uplink bursts generates RSL CONN FAIL IND */
 private function f_TC_conn_fail_crit(charstring id) runs on ConnHdlr {
@@ -1813,6 +1832,7 @@
 	execute( TC_meas_res_sign_tchh() );
 	execute( TC_meas_res_sign_sdcch4() );
 	execute( TC_meas_res_sign_sdcch8() );
+	execute( TC_meas_res_sign_tchh_toa256() );
 	execute( TC_conn_fail_crit() );
 	execute( TC_paging_imsi_80percent() );
 	execute( TC_paging_tmsi_80percent() );
