diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index a3e8c94..59c99d8 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -992,6 +992,36 @@
 	return;
 }
 
+/* Keep receiving & discarding DL blocks until the PCU requests USF for this MS */
+function f_ms_wait_usf(inout GprsMS ms, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum)
+runs on MS_BTS_IFACE_CT return uint32_t {
+	var BTS_PDTCH_Block data_msg;
+
+	BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr,
+				  sapi := PCU_IF_SAPI_PDTCH, fn := 0,
+				  arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)),
+				  block_nr := nr.blk_nr));
+	alt {
+	[] as_pcuif_rx_ignore_empty(nr);
+	[] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr,
+					   tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH),
+					   ?)) -> value data_msg {
+		var uint3_t rx_usf := f_rlcmac_dl_block_get_usf(data_msg.dl_block);
+		var uint3_t exp_usf := ms.ul_tbf.usf[valueof(nr.ts_nr)];
+		log("Rx DL block USF ", rx_usf, " vs exp USF ", exp_usf);
+		if (rx_usf != exp_usf) {
+			BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr,
+				  sapi := PCU_IF_SAPI_PDTCH, fn := 0,
+				  arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)),
+				  block_nr := nr.blk_nr));
+			repeat;
+		}
+		}
+	};
+
+	return data_msg.raw.fn;
+}
+
 ////////////////////////
 // Low level APIs
 ////////////////////////
