diff --git a/msc_tests/MSC_Tests.ttcn b/msc_tests/MSC_Tests.ttcn
index f26a825..2d43d78 100644
--- a/msc_tests/MSC_Tests.ttcn
+++ b/msc_tests/MSC_Tests.ttcn
@@ -1145,7 +1145,7 @@
 	f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)), false, false);
 	timer T := 30.0;
 	alt {
-	[] T.timeout { setverdict(fail, "Timeout waiting for channel release"); }
+	[] T.timeout { setverdict(fail, "Timeout waiting for channel release"); self.stop; }
 	[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
 		BSSAP.send(ts_BSSMAP_ClearComplete);
 		BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
@@ -1165,6 +1165,42 @@
 	vc_conn.done;
 }
 
+/* Test MO Call SETUP with no response from MNCC */
+private function f_tc_mo_setup_and_nothing(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
+	g_pars := pars;
+	var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
+
+	f_perform_lu(false, true, true, false);
+
+	f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)), false, false);
+	f_create_mncc_expect(hex2str(cpars.called_party));
+	f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit});
+
+	BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party)));
+
+	timer T := 30.0;
+	alt {
+	[] T.timeout { setverdict(fail, "Timeout waiting for channel release"); self.stop; }
+	[] BSSAP.receive(tr_BSSMAP_ClearCommand) {
+		BSSAP.send(ts_BSSMAP_ClearComplete);
+		BSSAP.receive(BSSAP_Conn_Prim:MSC_CONN_PRIM_DISC_IND);
+		setverdict(pass);
+		}
+	[] BSSAP.receive { repeat; }
+	[] MNCC.receive { repeat; }
+	[] GSUP.receive { repeat; }
+	[] MGCP.receive { repeat; }
+	}
+}
+testcase TC_mo_setup_and_nothing() runs on MTC_CT {
+	var BSC_ConnHdlr vc_conn;
+	f_init();
+
+	vc_conn := f_start_handler(refers(f_tc_mo_setup_and_nothing), testcasename(), 26);
+	vc_conn.done;
+}
+
+
 
 /* TODO:
    * continue to send repeated MO signalling messages to keep channel open: does MSC tmeout?
