diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index 4e6581c..875a9d6 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -576,7 +576,7 @@
 						tr_AVP_Multiple_Services_Credit_Control(content := superset(
 							tr_AVP_Requested_Service_Unit,
 							tr_AVP_Used_Service_Unit,
-							tr_AVP_3GPP_Reporting_Reason,
+							/* tr_AVP_3GPP_Reporting_Reason, can be sometimes inside UsedServiceUnit */
 							tr_AVP_3GPP_QoS_Information,
 							tr_AVP_GI_3GPP_RatType(rat_type)
 						)),
@@ -624,6 +624,7 @@
 						tr_AVP_Multiple_Services_Credit_Control(content := superset(
 							/* tr_AVP_Requested_Service_Unit, Only in INIT and UPDATE */
 							tr_AVP_Used_Service_Unit,
+							tr_AVP_3GPP_Reporting_Reason(FINAL),
 							tr_AVP_3GPP_QoS_Information,
 							tr_AVP_GI_3GPP_RatType(rat_type)
 						)),
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index 4b17ac5..03fec7c 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -1675,20 +1675,27 @@
 {
 	var AVP multi_services_cc, used_service_unit;
 	var AVP_Grouped multi_services_cc_data, used_service_unit_data;
+	var template (omit) AVP repreason_tpl;
 	var AVP repreason, cc_time, cc_in_oct, cc_out_oct;
 
 	multi_services_cc := f_DIAMETER_get_avp_or_fail(rx_dia, c_AVP_Code_DCC_NONE_Multiple_Services_Credit_Control);
 	multi_services_cc_data := valueof(multi_services_cc.avp_data.avp_DCC_NONE_Multiple_Services_Credit_Control);
 
-	repreason := f_AVP_Grouped_get_avp_or_fail(multi_services_cc_data, c_AVP_Code_DCA_3GPP_Reporting_Reason);
+	used_service_unit := f_AVP_Grouped_get_avp_or_fail(multi_services_cc_data, c_AVP_Code_DCC_NONE_Used_Service_Unit);
+	used_service_unit_data := valueof(used_service_unit.avp_data.avp_DCC_NONE_Used_Service_Unit);
+
+	/* Reporting-Reason can be either inside Multiple-Services-Credit-Control or inside Used-Service-Unit */
+	repreason_tpl := f_AVP_Grouped_get_avp(multi_services_cc_data, c_AVP_Code_DCA_3GPP_Reporting_Reason);
+	if (istemplatekind(repreason_tpl, "omit")) {
+		repreason := f_AVP_Grouped_get_avp_or_fail(used_service_unit_data, c_AVP_Code_DCA_3GPP_Reporting_Reason);
+	} else {
+		repreason := valueof(repreason_tpl);
+	}
 	if (not match(repreason.avp_data.avp_DCA_3GPP_Reporting_Reason, repreason_exp)) {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
 			log2str("3GPP-Reporting-Reason mismatch ", repreason, " vs exp ", repreason_exp));
 	}
 
-	used_service_unit := f_AVP_Grouped_get_avp_or_fail(multi_services_cc_data, c_AVP_Code_DCC_NONE_Used_Service_Unit);
-	used_service_unit_data := valueof(used_service_unit.avp_data.avp_DCC_NONE_Used_Service_Unit);
-
 	cc_time := f_AVP_Grouped_get_avp_or_fail(used_service_unit_data, c_AVP_Code_DCC_NONE_CC_Time);
 	if (not match(oct2int(cc_time.avp_data.avp_DCC_NONE_CC_Time), cc_time_exp)) {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn
index d8ee60d..e1f49ab 100644
--- a/pgw/PGW_Tests.ttcn
+++ b/pgw/PGW_Tests.ttcn
@@ -409,7 +409,7 @@
 					tr_AVP_Multiple_Services_Credit_Control(content := superset(
 						tr_AVP_Requested_Service_Unit,
 						tr_AVP_Used_Service_Unit,
-						tr_AVP_3GPP_Reporting_Reason,
+						/* tr_AVP_3GPP_Reporting_Reason, can be sometimes inside UsedServiceUnit */
 						tr_AVP_3GPP_QoS_Information,
 						tr_AVP_GI_3GPP_RatType(rat_type)
 					)),
@@ -459,6 +459,7 @@
 					tr_AVP_Multiple_Services_Credit_Control(content := superset(
 						/* tr_AVP_Requested_Service_Unit, Only in INIT and UPDATE */
 						tr_AVP_Used_Service_Unit,
+						tr_AVP_3GPP_Reporting_Reason(FINAL),
 						tr_AVP_3GPP_QoS_Information,
 						tr_AVP_GI_3GPP_RatType(rat_type)
 					)),
