diff --git a/bsc/BSC_Tests_ASCI.ttcn b/bsc/BSC_Tests_ASCI.ttcn
index 70fcb4d..b4b0173 100644
--- a/bsc/BSC_Tests_ASCI.ttcn
+++ b/bsc/BSC_Tests_ASCI.ttcn
@@ -92,6 +92,7 @@
 	var boolean uplink_req := false;
 	var boolean uplink_req_conf := false;
 	var boolean uplink_rel_ind := false;
+	var boolean uplink_rel_ind_failure := false;
 	var boolean assign_res := false;
 	var boolean assign_fail := false;
 	/* Note: This timer is used to receive messages after the expected event.
@@ -150,6 +151,14 @@
 		}
 		repeat;
 		}
+	[] BSSAP.receive(tr_BSSMAP_UplinkRelInd(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE, omit)) -> value rx_bssap {
+		log("VGCS: received uplink rel ind, caused by failure");
+		uplink_rel_ind_failure := true;
+		if (g_pars.asci_test.vgcs_talker_fail) {
+			T.start;
+		}
+		repeat;
+		}
 	[] COORD.receive(COORD_VGCS_ASSIGN_RES) {
 		log("VGCS: got assignment result at call control");
 		assign_res := true;
@@ -236,6 +245,19 @@
 		setverdict(pass);
 		return;
 	}
+	if (g_pars.asci_test.vgcs_talker_fail) {
+		if (not uplink_rel_ind_failure) {
+			setverdict(fail, "VGCS: No uplink release indication as expected!");
+			return;
+		}
+		if (not uplink_free) {
+			setverdict(fail, "VGCS: Uplink not free as expected!");
+			return;
+		}
+		log("VGCS: Uplink release and uplink marked free as expected!");
+		setverdict(pass);
+		return;
+	}
 	if (g_pars.asci_test.vgcs_talker_est) {
 		if (not uplink_req_conf) {
 			setverdict(fail, "VGCS: No uplink request confirm as expected!");
@@ -343,11 +365,16 @@
 		log("VGCS: got assignment result on channel");
 		COORD.send(COORD_VGCS_ASSIGN_RES);
 		if (g_pars.asci_test.vgcs_talker_req or
+		    g_pars.asci_test.vgcs_talker_fail or
 		    g_pars.asci_test.vgcs_talker_est or
 		    g_pars.asci_test.vgcs_talker_rel) {
 			log("VGCS: sending talker det");
 			RSL.send(ts_RSL_TALKER_DET(g_chan_nr));
 		}
+		if (g_pars.asci_test.vgcs_talker_fail) {
+			log("VGCS: sending RSL failure ind");
+			RSL.send(ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_TALKER_ACC_FAIL));
+		}
 		if (g_pars.asci_test.vgcs_talker_est or
 		    g_pars.asci_test.vgcs_talker_rel) {
 			log("VGCS: sending RSL etabish ind");
@@ -493,6 +520,28 @@
 	f_shutdown_helper();
 }
 
+testcase TC_vgcs_vbs_talker_fail() runs on test_CT {
+	var MSC_ConnHdlr call_conn, chan_conn;
+	var TestHdlrParams pars := f_gen_test_hdlr_pars();
+
+	f_init(1, true);
+
+	pars.sccp_addr_msc := g_bssap[0].sccp_addr_own;
+	pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer;
+
+	pars.asci_test.vgcs_talker_fail := true;
+
+	call_conn := f_start_handler(refers(f_tc_vgcs_vbs_setup), pars);
+	chan_conn := f_start_handler(refers(f_tc_asci_assignment), pars);
+	/* Connect COORD ports of both functions. The functions will delay before using them. */
+	connect(call_conn:COORD, chan_conn:COORD);
+
+	call_conn.done;
+	chan_conn.done;
+
+	f_shutdown_helper();
+}
+
 testcase TC_vgcs_vbs_talker_est() runs on test_CT {
 	var MSC_ConnHdlr call_conn, chan_conn;
 	var TestHdlrParams pars := f_gen_test_hdlr_pars();
@@ -586,6 +635,7 @@
 	execute( TC_vgcs_vbs_assignment() );
 	execute( TC_vgcs_vbs_assignment_fail() );
 	execute( TC_vgcs_vbs_talker_req() );
+	execute( TC_vgcs_vbs_talker_fail() );
 	execute( TC_vgcs_vbs_talker_est() );
 	execute( TC_vgcs_vbs_talker_rel() );
 	execute( TC_vgcs_vbs_uplink_seized() );
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index f919fa6..0c62003 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -757,6 +757,7 @@
 	boolean vgcs_assign_ok,
 	boolean vgcs_assign_fail,
 	boolean vgcs_talker_req,
+	boolean vgcs_talker_fail,
 	boolean vgcs_talker_est,
 	boolean vgcs_talker_rel,
 	boolean vgcs_uplink_seized,
