diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index ad8874c..0f3b4cb 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -1105,7 +1105,7 @@
 			ts_BSSGP_DL_UD(g_pars.tlli, payload, omit, ts_BSSGP_IMSI(g_pars.imsi));
 		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
 		var template (present) PDU_BSSGP pdu_rx :=
-			tr_BSSGP_DL_UD(g_pars.tlli, payload, tr_BSSGP_IMSI(g_pars.imsi));
+			tr_BSSGP_DL_UD(g_pars.tlli, payload, ts_BSSGP_IMSI(g_pars.imsi));
 
 		log("DL-UNITDATA(payload_size=", i);
 		f_sgsn2pcu(pdu_tx, pdu_rx);
@@ -2691,11 +2691,11 @@
 	f_init();
 	f_global_init_ptp();
 
-	var template (value) PDU_BSSGP pdu_tx := t_BVC_FC_BVC(10240, 2000, 1024, 1000, '01'O);
+	var template (value) PDU_BSSGP pdu_tx := ts_BVC_FC_BVC(10240, 2000, 1024, 1000, '01'O);
 	/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
 	var template (present) PDU_BSSGP pdu_rx := tr_BVC_FC_BVC(10240, 2000, 1024, 1000, '01'O);
-	var template (omit) PDU_BSSGP ack_tx :=
-		t_BVC_FC_BVC_ACK(pdu_tx.pDU_BSSGP_FLOW_CONTROL_BVC.tag.unstructured_Value);
+	var template (value) PDU_BSSGP ack_tx :=
+		ts_BVC_FC_BVC_ACK(pdu_tx.pDU_BSSGP_FLOW_CONTROL_BVC.tag.unstructured_Value);
 
 	/* Send a FC-BVC from BSS to gbproxy, expect an ACK in response */
 	G_PCU[0].send(pdu_tx);
@@ -3030,11 +3030,11 @@
 
 	cont_tx := ts_RAN_Information_Error_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
 							  ts_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
-							  omit, valueof(t_BVC_UNBLOCK(23)));
+							  omit, valueof(ts_BVC_UNBLOCK(23)));
 
 	cont_rx := tr_RAN_Information_Error_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
-							  t_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
-							  omit, enc_PDU_BSSGP(valueof(t_BVC_UNBLOCK(23))));
+							  ts_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
+							  omit, enc_PDU_BSSGP(valueof(tr_BVC_UNBLOCK(23))));
 
 	f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
 							  src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
