diff --git a/arkindex_worker/worker/training.py b/arkindex_worker/worker/training.py
index c53cffee4f2633307a94b9131ca3146415e5c283..4a739288a9c82595da18ca75e416e6193872daa8 100644
--- a/arkindex_worker/worker/training.py
+++ b/arkindex_worker/worker/training.py
@@ -30,7 +30,9 @@ FileSize = NewType("FileSize", int)
 
 
 @contextmanager
-def create_archive(path: DirPath) -> Tuple[Path, Hash, FileSize, Hash]:
+def create_archive(
+    path: DirPath, use_parent_folder: bool = False
+) -> Tuple[Path, Hash, FileSize, Hash]:
     """
     Create a tar archive from the files at the given location then compress it to a zst archive.
 
@@ -52,10 +54,12 @@ def create_archive(path: DirPath) -> Tuple[Path, Hash, FileSize, Hash]:
     # Files hierarchy ifs kept in the archive.
     file_list = []
     with tarfile.open(path_to_tar_archive, "w") as tar:
-        for p in path.glob("**/*"):
-            x = p.relative_to(path)
-            tar.add(p, arcname=x, recursive=False)
-            file_list.append(p)
+        if use_parent_folder:
+            # Only publish contents of the given folder without parent folder
+            tar.add(path, arcname=".")
+        else:
+            tar.add(path)
+        file_list = [member for member in tar.getnames() if os.path.isfile(member)]
 
     # Sort by path
     file_list.sort()