diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementExtendedClaimSource.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementExtendedClaimSource.java
index 45b12129f7e7abca481e8001f2f63ac1919691a6..4c8cb22799726a7de781f1272bfc28e6c617e32b 100644
--- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementExtendedClaimSource.java
+++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementExtendedClaimSource.java
@@ -47,10 +47,14 @@ public class EntitlementExtendedClaimSource extends EntitlementSource {
     private Set<String> produceEntitlementsExtended(Facility facility, Long userId, PerunAdapter perunAdapter) {
         Set<Group> userGroups = ClaimUtils.getUserGroupsOnFacility(
                 facility, userId, perunAdapter, getClaimName(), getGroupEntitlementDisabledAttr());
-        Map<Long, String> groupIdToNameMap = super.getGroupIdToNameMap(userGroups, false);
         Set<String> entitlements = new TreeSet<>();
         this.fillUuidEntitlements(userGroups, entitlements);
+
         fillForwardedEntitlements(perunAdapter, userId, entitlements);
+
+        userGroups = ClaimUtils.getUserGroupsOnFacility(
+                facility, userId, perunAdapter, getClaimName(), null);
+        Map<Long, String> groupIdToNameMap = super.getGroupIdToNameMap(userGroups, false);
         fillCapabilities(facility, perunAdapter, groupIdToNameMap,entitlements);
         log.trace("{} - UUID entitlements added", getClaimName());
         return entitlements;
diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementSource.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementSource.java
index 25582f0a5406b004486ee2e1b4ce42821c490448..779f56e78a76e1b5ca61eeaa5e69b021138ef32f 100644
--- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementSource.java
+++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/server/claims/sources/EntitlementSource.java
@@ -97,8 +97,7 @@ public class EntitlementSource extends GroupNamesSource {
 		PerunAdapter perunAdapter = pctx.getPerunAdapter();
 		Long userId = pctx.getPerunUserId();
 		Facility facility = pctx.getFacility();
-		Set<Group> userGroups = ClaimUtils.getUserGroupsOnFacility(facility, userId, perunAdapter, groupEntitlementDisabledAttr, getClaimName());
-		Set<String> entitlements = produceEntitlements(facility, userGroups, userId, perunAdapter);
+		Set<String> entitlements = produceEntitlements(facility, userId, perunAdapter);
 
 		JsonNode result = ClaimUtils.convertResultStringsToJsonArray(entitlements);
 		log.debug("{} - produced value for user({}): '{}'", getClaimName(), userId, result);
@@ -152,18 +151,20 @@ public class EntitlementSource extends GroupNamesSource {
 		}
 	}
 
-	protected Set<String> produceEntitlements(Facility facility, Set<Group> userGroups,
-											  Long userId, PerunAdapter perunAdapter)
+	protected Set<String> produceEntitlements(Facility facility, Long userId, PerunAdapter perunAdapter)
 	{
 		Set<String> entitlements = new TreeSet<>();
-		Map<Long, String> groupIdToNameMap = super.getGroupIdToNameMap(userGroups, false);
 
+		Set<Group> userGroups = ClaimUtils.getUserGroupsOnFacility(facility, userId, perunAdapter, groupEntitlementDisabledAttr, getClaimName());
+		Map<Long, String> groupIdToNameMap = super.getGroupIdToNameMap(userGroups, false);
 		if (groupIdToNameMap != null && !groupIdToNameMap.values().isEmpty()) {
 			this.fillEntitlementsFromGroupNames(new HashSet<>(groupIdToNameMap.values()), entitlements);
 			log.trace("{} - entitlements for group names added", getClaimName());
 		}
 
 		if (facility != null) {
+			userGroups = ClaimUtils.getUserGroupsOnFacility(facility, userId, perunAdapter, null, getClaimName());
+			groupIdToNameMap = super.getGroupIdToNameMap(userGroups, false);
 			this.fillCapabilities(facility, perunAdapter, groupIdToNameMap, entitlements);
 			log.trace("{} - capabilities added", getClaimName());
 		}