diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index a008bb8..2908ac8 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -4715,6 +4715,11 @@
 	/* Check the amount of MGCP transactions is still consistant with the
 	 * test expectation */
 	f_check_mgcp_expectations()
+
+	/* Ensure the Channel Activation for the new channel contained the right encryption params. as_handover() set
+	 * g_chan_nr to the new lchan that was handed over to. It lives in bts 1, so look it up at RSL1_PROC. */
+	f_verify_encr_info(f_rslem_get_last_act(RSL1_PROC, 0, g_chan_nr));
+
 	f_sleep(0.5);
 }
 
@@ -4741,6 +4746,47 @@
 	f_shutdown_helper();
 }
 
+function f_tc_ho_int_a5(OCT1 encr_alg) runs on test_CT {
+	var MSC_ConnHdlr vc_conn;
+	var TestHdlrParams pars := f_gen_test_hdlr_pars();
+	pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16)));
+
+	f_init(2, true);
+	f_sleep(1.0);
+
+	f_ctrs_bsc_and_bts_init();
+
+	vc_conn := f_start_handler(refers(f_tc_ho_int), pars);
+	vc_conn.done;
+
+	/* from f_establish_fully() */
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted");
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed");
+	/* from handover */
+	f_ctrs_bsc_and_bts_add(0, "handover:attempted");
+	f_ctrs_bsc_and_bts_add(0, "handover:completed");
+	f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted");
+	f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:completed");
+	f_ctrs_bsc_and_bts_verify();
+	f_shutdown_helper();
+}
+
+testcase TC_ho_int_a5_0() runs on test_CT {
+	f_tc_ho_int_a5('01'O);
+}
+
+testcase TC_ho_int_a5_1() runs on test_CT {
+	f_tc_ho_int_a5('02'O);
+}
+
+testcase TC_ho_int_a5_3() runs on test_CT {
+	f_tc_ho_int_a5('08'O);
+}
+
+testcase TC_ho_int_a5_4() runs on test_CT {
+	f_tc_ho_int_a5('10'O);
+}
+
 /* intra-BSC hand-over with CONNection FAILure and cause Radio Link Failure: check RR release cause */
 private function f_tc_ho_int_radio_link_failure(charstring id) runs on MSC_ConnHdlr {
 	g_pars := f_gen_test_hdlr_pars();
@@ -9059,6 +9105,10 @@
 	execute( TC_err_84_unknown_msg() );
 
 	execute( TC_ho_int() );
+	execute( TC_ho_int_a5_0() );
+	execute( TC_ho_int_a5_1() );
+	execute( TC_ho_int_a5_3() );
+	execute( TC_ho_int_a5_4() );
 	execute( TC_ho_int_radio_link_failure() );
 
 	execute( TC_ho_out_of_this_bsc() );
