diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 328fc59..2a8ad5f 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1841,6 +1841,26 @@
 	if (not match(mode_ie, t_mode_ie)) {
 		setverdict(fail, "RSL Channel Mode IE doesn't match expectation");
 	}
+
+	var RSL_IE_Body mr_conf;
+	if (g_pars.expect_mr_conf_ie != omit) {
+		if (f_rsl_find_ie(rsl, RSL_IE_MR_CONFIG, mr_conf) == false) {
+			setverdict(fail, "Missing MR CONFIG IE in RSL Chan Activ");
+			self.stop;
+		}
+		log("found RSL MR CONFIG IE: ", mr_conf);
+
+		if (not match(mr_conf, g_pars.expect_mr_conf_ie)) {
+			setverdict(fail, "RSL MR CONFIG IE does not match expectation. Expected: ",
+				g_pars.expect_mr_conf_ie);
+		}
+	} else {
+		if (f_rsl_find_ie(rsl, RSL_IE_MR_CONFIG, mr_conf) == true) {
+			log("found RSL MR CONFIG IE: ", mr_conf);
+			setverdict(fail, "Found MR CONFIG IE in RSL Chan Activ, expecting omit");
+			self.stop;
+		}
+	}
 }
 
 testcase TC_assignment_codec_fr() runs on test_CT {
@@ -1882,11 +1902,18 @@
 testcase TC_assignment_codec_amr_f() runs on test_CT {
 	var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
 	var MSC_ConnHdlr vc_conn;
+	var RSL_IE_Body mr_conf := {
+		other := {
+			len := 2,
+			payload := '2804'O
+		}
+	};
 
 	f_init(1, true);
 	f_sleep(1.0);
 
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
+	pars.expect_mr_conf_ie := mr_conf;
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
 }
@@ -1894,11 +1921,18 @@
 testcase TC_assignment_codec_amr_h() runs on test_CT {
 	var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
 	var MSC_ConnHdlr vc_conn;
+	var RSL_IE_Body mr_conf := {
+		other := {
+			len := 2,
+			payload := '2804'O
+		}
+	};
 
 	f_init(1, true);
 	f_sleep(1.0);
 
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H}));
+	pars.expect_mr_conf_ie := mr_conf;
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
 }
