diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 7d4a140..08a5510 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1454,6 +1454,38 @@
 	vc_conn.done;
 }
 
+
+/* unsolicited ASSIGNMENT COMPLETE (without ASSIGN) from MS shouldn't bring BSC down */
+private function f_tc_unsol_ass_compl(charstring id) runs on MSC_ConnHdlr {
+	var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
+	f_create_chan_and_exp(pars);
+	/* we should now have a COMPL_L3 at the MSC */
+	BSSAP.receive(tr_BSSMAP_ComplL3);
+
+	f_rsl_send_l3(ts_RRM_AssignmentComplete('00'O));
+	timer T := 5.0;
+	T.start;
+	alt {
+	[] BSSAP.receive(tr_BSSMAP_AssignmentComplete) {
+		setverdict(fail, "Unexpeted BSSMAP Assignment Complet");
+		}
+	[] BSSAP.receive {
+		setverdict(fail, "Unexpected BSSAP");
+		}
+	[] T.timeout {
+		setverdict(pass);
+		}
+	}
+}
+testcase TC_unsol_ass_compl() runs on test_CT {
+	var MSC_ConnHdlr vc_conn;
+	f_init(1, true);
+	f_sleep(1.0);
+	vc_conn := f_start_handler(refers(f_tc_unsol_ass_compl), testcasename());
+	vc_conn.done;
+}
+
+
 /* unsolicited HANDOVER FAIL (without ASSIGN) from MS shouldn't bring BSC down */
 private function f_tc_unsol_ho_fail(charstring id) runs on MSC_ConnHdlr {
 	var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
@@ -1548,6 +1580,7 @@
 
 	execute( TC_classmark() );
 	execute( TC_unsol_ass_fail() );
+	execute( TC_unsol_ass_compl() );
 	execute( TC_unsol_ho_fail() );
 }
 
