diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 2012346..dc3df66 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5106,8 +5106,6 @@
 			MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp));
 		};
 	}
-
-	BSSAP.receive(tr_BSSMAP_ClearComplete);
 }
 
 private function f_ho_out_of_this_bsc(template (omit) BSSMAP_oldToNewBSSIEs exp_oldToNewBSSIEs := omit) runs on MSC_ConnHdlr {
@@ -5160,6 +5158,7 @@
 	[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE));
 	[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr));
 	[] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr));
+	[] BSSAP.receive(tr_BSSMAP_ClearComplete);
 	}
 	setverdict(pass);
 }
@@ -5433,6 +5432,7 @@
 	}
 
 	f_expect_dlcx_conns();
+	BSSAP.receive(tr_BSSMAP_ClearComplete);
 
 	setverdict(pass);
 	f_sleep(1.0);
@@ -5743,6 +5743,8 @@
 	BSSAP.send(ts_BSSMAP_ClearCommand(cause));
 
 	f_expect_dlcx_conns();
+	BSSAP.receive(tr_BSSMAP_ClearComplete);
+
 	setverdict(pass);
 	f_sleep(1.0);
 
@@ -5834,6 +5836,8 @@
 	BSSAP.send(ts_BSSMAP_ClearCommand(cause));
 
 	f_expect_dlcx_conns();
+	BSSAP.receive(tr_BSSMAP_ClearComplete);
+
 	f_sleep(1.0);
 }
 testcase TC_ho_in_fail_msc_clears_after_ho_detect() runs on test_CT {
@@ -5921,6 +5925,8 @@
 	BSSAP.send(ts_BSSMAP_ClearCommand(cause));
 
 	f_expect_dlcx_conns();
+	BSSAP.receive(tr_BSSMAP_ClearComplete);
+
 	f_sleep(1.0);
 }
 testcase TC_ho_in_fail_no_detect() runs on test_CT {
@@ -6000,6 +6006,8 @@
 		BSSAP.send(ts_BSSMAP_ClearCommand(cause));
 	};
 	f_expect_dlcx_conns();
+	BSSAP.receive(tr_BSSMAP_ClearComplete);
+
 	f_sleep(1.0);
 }
 testcase TC_ho_in_fail_no_detect2() runs on test_CT {
