diff --git a/src/main/java/org/caosdb/server/filesystem/FSODescriptor.java b/src/main/java/org/caosdb/server/filesystem/FSODescriptor.java
index facfbcef0585feaa8eff6fbe87c5451dfc8bbb85..371b9618217320d3d8de093113951d68c68c7b1c 100644
--- a/src/main/java/org/caosdb/server/filesystem/FSODescriptor.java
+++ b/src/main/java/org/caosdb/server/filesystem/FSODescriptor.java
@@ -189,6 +189,7 @@ public class FSODescriptor implements VirtualFSODescriptorInterface {
 
   public static FSODescriptor createDir(String fileStorageId, final Path dirPath) {
     final FSODescriptor ret = new FSODescriptor(dirPath);
+    ret.key = dirPath.toString();
     ret.fileStorageId = fileStorageId;
     ret.type = ObjectType.DIRECTORY;
     return ret;
diff --git a/src/main/java/org/caosdb/server/jobs/core/AutoCreateDirs.java b/src/main/java/org/caosdb/server/jobs/core/AutoCreateDirs.java
index a2644c63e7b75dbc7e4ae442ed07d987a52d4fb1..d7a632bcfdbb7875a382617f3ee9591d6cbd4020 100644
--- a/src/main/java/org/caosdb/server/jobs/core/AutoCreateDirs.java
+++ b/src/main/java/org/caosdb/server/jobs/core/AutoCreateDirs.java
@@ -14,6 +14,7 @@ import org.caosdb.server.jobs.EntityFlagJob;
 import org.caosdb.server.jobs.JobAnnotation;
 import org.caosdb.server.jobs.TransactionStage;
 import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.transaction.WriteTransactionInterface;
 
 @JobAnnotation(
     flag = "autoCreateDirs",
@@ -78,6 +79,7 @@ public class AutoCreateDirs extends EntityFlagJob {
     child.setParentDirectory(newFD.getEntityId());
 
     final EntityInterface newDir = new InsertEntity(name, Role.Directory);
+    newDir.setId(((WriteTransactionInterface) getTransaction()).generateId());
     newDir.setEntityACL(EntityACL.getOwnerACLFor(getUser()));
     newDir.setFSODescriptor(newFD);
     getContainer().add(newDir);