diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index e59c18d..34406b9 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -822,7 +822,8 @@
 altstep as_ms_rx_pkt_neighbor_cell_data(inout GprsMS ms, octetstring exp_si,
 					inout uint5_t exp_container_idx /* := 0 */,
 					inout integer si_offset /* := 0 */,
-					template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum)
+					template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum,
+					boolean single_step := false)
 runs on MS_BTS_IFACE_CT {
 	var integer len;
 	var octetstring exp_si_chunk;
@@ -874,7 +875,7 @@
 
 		exp_container_idx := exp_container_idx + 1;
 
-		if (do_repeat) {
+		if (not single_step and do_repeat) {
 			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)),
@@ -885,12 +886,13 @@
 }
 
 /* Handle groups of PKT NEIGHBOUR CELL DATA packets */
-function f_ms_handle_pkt_neighbor_cell_data(inout GprsMS ms, octetstring exp_si)
+function f_ms_handle_pkt_neighbor_cell_data(inout GprsMS ms, octetstring exp_si,
+					    template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum,
+					    uint5_t exp_container_idx := 0,
+					    integer si_offset := 0,
+					    boolean single_step := false)
 runs on MS_BTS_IFACE_CT {
-	var uint5_t exp_container_idx := 0;
-	var integer si_offset := 0;
 	var BTS_PDTCH_Block data_msg;
-	template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum;
 
 	BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr,
 				  sapi := PCU_IF_SAPI_PDTCH, fn := 0,
@@ -899,7 +901,7 @@
 	alt {
 	[exp_container_idx == 0] as_ms_rx_ignore_dummy(ms, nr);
 	[exp_container_idx > 0]	 as_ms_rx_fail_dummy(ms, nr);
-	[]	as_ms_rx_pkt_neighbor_cell_data(ms, exp_si, exp_container_idx, si_offset, nr);
+	[]	as_ms_rx_pkt_neighbor_cell_data(ms, exp_si, exp_container_idx, si_offset, nr, single_step);
 	[] 	BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH),
 					   tr_RLCMAC_DL_CTRL(?, ?)
 			)) -> value data_msg {
