diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
index b822d1c4089177d04859308db6cb5f67318fdb64..c019d0af1859c83b93fd586594a37196c970fec0 100644
--- a/src/main/java/org/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -516,6 +516,10 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
     } else {
       logger.debug("Using cached result for {}", this.query);
     }
+
+    filterEntitiesWithoutRetrievePermission(this.resultSet);
+
+    // Fill resulting entities into container
     if (this.container != null && this.type == Type.FIND) {
       for (final IdVersionPair p : this.resultSet) {
 
@@ -558,10 +562,6 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
 
       this.resultSet = getResultSet(executeStrategy(this.versioned), this.versioned);
 
-      filterEntitiesWithoutRetrievePermission(this.resultSet);
-
-      // Fill resulting entities into container
-
     } finally {
       cleanUp();
     }