diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn
index 997c42d..3c4bef2 100644
--- a/pgw/PGW_Tests.ttcn
+++ b/pgw/PGW_Tests.ttcn
@@ -1079,6 +1079,34 @@
 	vc_conn.done;
 }
 
+/* Test Gy CCR rejected with CCA Result-Code DIAMETER_AUTHORIZATION_REJECTED (5003) */
+private function f_TC_gy_ccr_update_rejected() runs on PGW_Session_CT {
+	var default d;
+
+	f_s5s8_create_session();
+
+	/* We should receive an update even if no traffic is sent: */
+	as_DIA_Gy_CCR(UPDATE_REQUEST);
+
+	/* Answer next CCR[Update] with CCA Reject: */
+	g_pars.gy.cca_res_code := DIAMETER_AUTHORIZATION_REJECTED;
+	as_DIA_Gy_CCR(UPDATE_REQUEST);
+
+	/* Expect PGW to tear down the connection as a result: */
+	as_DIA_Gx_CCR(TERMINATION_REQUEST);
+	as_DIA_Gy_CCR(TERMINATION_REQUEST);
+
+	setverdict(pass);
+}
+testcase TC_gy_ccr_update_rejected() runs on PGW_Test_CT {
+	var PGW_Session_CT vc_conn;
+	var SessionPars pars := valueof(t_SessionPars('001010123456789'H, "tun23"));
+	pars.gy.validity_time := 3; /* Grant access for 3 seconds, needs to be re-validated afterwards */
+	f_init();
+	vc_conn := f_start_handler(refers(f_TC_gy_ccr_update_rejected), pars);
+	vc_conn.done;
+}
+
 /* create a session, expect it to succeed */
 private function f_TC_s2b_createSession_v4_noapco() runs on PGW_Session_CT {
 	var template (omit) APCO apco := omit;
@@ -1125,6 +1153,7 @@
 	execute( TC_createSession_deleteSession() );
 	execute( TC_deleteSession_unknown() );
 	execute( TC_gy_charging_cc_time() );
+	execute( TC_gy_ccr_update_rejected() );
 	execute( TC_s2b_createSession_v4_noapco() );
 	execute( TC_s2b_createSession_v4_apco() );
 }
