diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 31bab93..08fc9c9 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -407,7 +407,7 @@
 				integer idx_rx, template (omit) OCT4 rctx_receiver, OCT4 pc_rx,
 				OCT1 si := '23'O, OCT1 ni := '00'O, OCT1 mp := '00'O, OCT1 sls := '00'O)
 runs on RAW_M3UA_CT {
-	var octetstring data := f_rnd_octstring(f_rnd_int(100));
+	var octetstring data := f_rnd_octstring_rnd_len(100);
 	f_M3UA_send(idx_tx, ts_M3UA_DATA(rctx_sender,
 					 ts_M3UA_protocol_data(pc_tx, pc_rx, si, ni, mp, sls, data)), 1);
 	f_M3UA_exp(idx_rx, tr_M3UA_DATA(rctx_receiver,
@@ -482,7 +482,7 @@
 	const integer iter_per_asp := 5;
 	var integer num_rx[NR_M3UA] := { 0, 0, 0 };
 	for (i := 0; i < 2*iter_per_asp; i := i+1) {
-		var octetstring data := f_rnd_octstring(f_rnd_int(100));
+		var octetstring data := f_rnd_octstring_rnd_len(100);
 		var template (value) M3UA_Protocol_Data tx_pd;
 		var template (present) M3UA_Protocol_Data rx_pd;
 		tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data);
@@ -533,7 +533,7 @@
 
 	/* verify traffic is routed from sender to new receiver */
 	for (i := 0; i < 10; i := i+1) {
-		var octetstring data := f_rnd_octstring(f_rnd_int(100));
+		var octetstring data := f_rnd_octstring_rnd_len(100);
 		var template (value) M3UA_Protocol_Data tx_pd;
 		var template (present) M3UA_Protocol_Data rx_pd;
 		tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, '00'O, data);
