diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 758b989..c7bc811 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1677,8 +1677,8 @@
 
 	var BSSMAP_IE_EncryptionInformation encryptionInformation :=
 		valueof(ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O));
-	var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit;
-	var template BSSMAP_IE_KC128 kc128 := omit;
+	var template (omit) BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit;
+	var template (omit) BSSMAP_IE_KC128 kc128 := omit;
 	if (ispresent(enc)) {
 		var TestHdlrEncrParams v_enc := valueof(enc);
 		encryptionInformation := valueof(ts_BSSMAP_IE_EncrInfo(v_enc.enc_key, v_enc.enc_alg_permitted));
@@ -2492,15 +2492,15 @@
 }
 
 private function f_exp_sapi_n_reject(template (present) GsmSapi sapi := ?,
-				     template myBSSMAP_Cause cause := ?,
+				     template (present) myBSSMAP_Cause cause := ?,
 				     template (present) BIT2 cc := ?,
 				     float T_val := 2.0)
 runs on test_CT {
 	var BSSAP_N_DATA_ind rx_di;
 	timer T;
 
-	var template BSSMAP_IE_Cause tr_cause := tr_BSSMAP_IE_Cause(cause);
-	var template PDU_BSSAP tr_pdu := tr_BSSMAP_SAPInReject(sapi);
+	var template (present) BSSMAP_IE_Cause tr_cause := tr_BSSMAP_IE_Cause(cause);
+	var template (present) PDU_BSSAP tr_pdu := tr_BSSMAP_SAPInReject(sapi);
 
 	T.start(T_val);
 	alt {
@@ -8010,7 +8010,7 @@
 		f_vty_transceive(BSCVTY, "bts 0 c0-power-reduction " & int2str(red));
 
 		/* Expect Osmocom specific BS Power Control message on the RSL */
-		var template RSL_Message tr_rsl_pdu := tr_RSL_BS_PWR_CTRL(
+		var template (present) RSL_Message tr_rsl_pdu := tr_RSL_BS_PWR_CTRL(
 			chan_nr := t_RslChanNr_BCCH(0),
 			bs_power := tr_RSL_IE_BS_Power(red / 2));
 		tr_rsl_pdu.msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false);
@@ -10517,7 +10517,7 @@
 }
 
 private function f_verify_imm_ass(RSL_Message imm_ass, template uint8_t ra := ?, template GsmFrameNumber fn := ?,
-				  template RslChannelNr chan_nr := ?,
+				  template (present) RslChannelNr chan_nr := ?,
 				  template (present) uint12_t arfcn := ?,
 				  template (present) uint3_t tsc := ?)
 {
