diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 59b87dd..5779990 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9029,6 +9029,12 @@
 	var octetstring l3 := '00010203040506'O;
 	f_ipa_tx(0, ts_RSL_EST_IND(first_tch, valueof(ts_RslLinkID_DCCH(0)), l3));
 
+	/* Accept BSSAP conn, so we get to test the Clear Request cause */
+	var BSSAP_N_CONNECT_ind rx_c_ind;
+	BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind;
+	var integer sccp_conn_id := rx_c_ind.connectionId;
+	BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId));
+
 	/* Send Channel request for emegergency call */
 	f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23));
 
@@ -9036,6 +9042,15 @@
 	f_expect_chan_rel(0, first_tch, expect_rr_chan_rel := true, expect_rll_rel_req := false,
 			  expect_rr_cause := GSM48_RR_CAUSE_PREMPTIVE_REL);
 
+	/* Also expect a BSSMAP Clear Request with PREEMPTION */
+	var BSSAP_N_DATA_ind rx_clear_req;
+	const myBSSMAP_Cause preemption := GSM0808_CAUSE_PREEMPTION;
+	BSSAP.receive(tr_BSSAP_DATA_ind(sccp_conn_id, tr_BSSMAP_ClearRequest)) -> value rx_clear_req;
+	log("XXX ", rx_clear_req);
+	if (rx_clear_req.userData.pdu.bssmap.clearRequest.cause.causeValue != int2bit(enum2int(preemption), 7)) {
+		setverdict(fail, "BSSMAP Clear Request: expected cause PREEMPTION");
+	}
+
 	/* Expect the BSC to send activate/assign the channel for the emergency call */
 	rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
 	if (first_tch != rx_rsl.ies[0].body.chan_nr) {
@@ -9044,6 +9059,12 @@
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(first_tch, 33));
 	rx_rsl := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));
 
+	/* complete the BSSMAP Clear to satisfy the conn leak check */
+	BSSAP.send(ts_BSSAP_DATA_req(sccp_conn_id, ts_BSSMAP_ClearCommand(enum2int(preemption))));
+	BSSAP.receive(tr_BSSAP_DATA_ind(sccp_conn_id, tr_BSSMAP_ClearComplete)) {
+		BSSAP.send(ts_BSSAP_DISC_req(sccp_conn_id, 0));
+	}
+
 	f_shutdown_helper();
 }
 
