diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 72d011d..27b004a 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -6105,6 +6105,7 @@
 	var template PCUIF_Message tr_interf_ind;
 	var template PCUIF_interf ts_interf;
 	var integer interf_ind_num := 0;
+	var boolean first := true;
 	var PCUIF_send_data sd;
 	timer T;
 
@@ -6129,16 +6130,17 @@
 		interf := ts_interf
 	);
 
-	/* 4 SACCH periods => 4 reports (plus some guard time) */
-	var float Tval := int2float(4 * 480) / 1000.0 + 0.5;
-
-	/* Let it some time to stabilize */
-	f_sleep(0.5);
-	PCU.clear;
-
-	T.start(Tval);
+	T.start(0.480 * 1.5);
 	alt {
-	[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_interf_ind)) -> value sd {
+	/* The first interference report may contain unreliable values, so we ignore it */
+	[first] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_INTERF_IND(0, 0))) {
+		/* 4 SACCH periods => 4 reports (plus some guard time) */
+		T.start(0.480 * 4.0 + 0.480 / 2.0);
+		first := false;
+		repeat;
+		}
+	/* Subsequent interference reports shall match our expectations */
+	[not first] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_interf_ind)) -> value sd {
 		/* Check TDMA frame number period */
 		if (sd.data.u.interf_ind.fn mod 104 != 0) {
 			setverdict(fail, "Odd TDMA frame number := ",
@@ -6148,7 +6150,7 @@
 		if (interf_ind_num < 4)
 			{ repeat; }
 		}
-	[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_INTERF_IND(0, 0))) -> value sd {
+	[not first] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_INTERF_IND(0, 0))) -> value sd {
 		setverdict(fail, "Received unexpected interference report: ", sd.data);
 		}
 	[] PCU.receive { repeat; }
