diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn
index 0d8fb38..b291546 100644
--- a/bsc/BSC_Tests_CBSP.ttcn
+++ b/bsc/BSC_Tests_CBSP.ttcn
@@ -355,6 +355,7 @@
 function f_cbsp_kill(uint16_t msg_id, uint16_t ser_no, template (omit) uint8_t channel_ind := 0,
 		     template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS,
 		     template BSSMAP_FIELD_CellIdentificationList success_list := ?,
+		     template CBSP_IE_NumBcastComplList compl_list := *,
 		     template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT
 {
 	var template (value) CBSP_PDU tx;
@@ -363,10 +364,10 @@
 	tx := ts_CBSP_KILL(msg_id, ser_no, cell_list, channel_ind);
 	CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx));
 	if (istemplatekind(fail_list, "omit")) {
-		rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=*, cell_list:=success_list,
+		rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=compl_list, cell_list:=success_list,
 					 channel_ind:=channel_ind);
 	} else {
-		rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=*, cell_list:=success_list,
+		rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=compl_list, cell_list:=success_list,
 					channel_ind:=channel_ind);
 	}
 	alt {
@@ -784,7 +785,7 @@
 	f_init();
 
 	cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)});
-	f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, fail_list:=?);
+	f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=omit, compl_list:=omit, fail_list:=?);
 }
 /* Write a message, then kill it */
 testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT {
@@ -793,9 +794,14 @@
 	g_pars := valueof(ts_CBSP_Pars_default(false, 13001, 13501));
 	f_init();
 
+	/* write message, request more than one transmission on BTS0 */
 	cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)});
-	f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, content:=pages, success_list:=?, fail_list:=omit);
-	f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, fail_list:=omit);
+	f_cbsp_write(g_cbsp_msg_id, g_cbsp_ser_no, cell_list, num_bcast_req := 5, content:=pages, success_list:=?, fail_list:=omit);
+	/* expect to receive it once on the BTS */
+	var template (present) RSL_Message tr := f_page2rsl(pages[0], g_cbsp_msg_id, g_cbsp_ser_no);
+	IPA_RSL[0].receive(tr_ASP_RSL_UD(tr));
+	/* kill it, expecting non-empty completion list */
+	f_cbsp_kill(g_cbsp_msg_id, g_cbsp_ser_no, 0, cell_list, success_list:=?, compl_list:=?, fail_list:=omit);
 }
 
 /* Write a message, then reset all messages */
