diff --git a/src/main/java/org/caosdb/server/jobs/Job.java b/src/main/java/org/caosdb/server/jobs/Job.java
index f54cfa41db38c687e19746d1208a09cc21aa50f7..cc943fbd0baf211d7f467cb54a7797616218f608 100644
--- a/src/main/java/org/caosdb/server/jobs/Job.java
+++ b/src/main/java/org/caosdb/server/jobs/Job.java
@@ -561,25 +561,24 @@ public abstract class Job {
    */
   protected EntityInterface resolve(final EntityInterface entity)
       throws EntityWasNotUniqueException {
-    EntityInterface resolvedParent = null;
-    // if the parent has an id>0, it is to be a valid entity.
+    EntityInterface resolvedEntity = null;
     if (!entity.hasId() && entity.hasName()) {
-      resolvedParent = getEntityByName(entity.getName());
-      if (resolvedParent == null) {
+      resolvedEntity = getEntityByName(entity.getName());
+      if (resolvedEntity == null) {
         final Integer eid = retrieveValidIDByName(entity.getName());
         entity.setId(eid);
       }
     }
 
     if (entity.hasId()) {
-      // get parent from container
-      resolvedParent = getEntityById(entity.getId());
-      if (resolvedParent == null) {
-        resolvedParent = retrieveValidEntity(entity.getId());
+      // get entity from container
+      resolvedEntity = getEntityById(entity.getId());
+      if (resolvedEntity == null && entity.getId() > 0) {
+        resolvedEntity = retrieveValidEntity(entity.getId());
       }
     }
 
-    return resolvedParent;
+    return resolvedEntity;
   }
 
   /**