diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java
index ff1be3786572fe8d8b2030d01a63a6a9c04c5f1f..9e94a60ca468c53de9c136c2bdaaf0bf16e45663 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java
@@ -32,6 +32,8 @@ public abstract class ArchiveFolders
 
     public abstract File getFolder(DatasetDescription dataSetDescription);
 
+    public abstract File getFolder(long fileSize);
+
     public abstract Collection<File> getAllFolders();
 
     public static ArchiveFolders create(File[] folders, boolean createFolders, Long smallDataSetsSizeLimit)
@@ -124,6 +126,12 @@ public abstract class ArchiveFolders
             return dataSetsFolder;
         }
 
+        @Override
+        public File getFolder(long fileSize)
+        {
+            return dataSetsFolder;
+        }
+
         @Override
         public Collection<File> getAllFolders()
         {
@@ -171,7 +179,13 @@ public abstract class ArchiveFolders
                 dataSetDescription.setDataSetSize(size);
             }
 
-            if (dataSetDescription.getDataSetSize() > smallDataSetsSizeLimit)
+            return getFolder(dataSetDescription.getDataSetSize());
+        }
+
+        @Override
+        public File getFolder(long fileSize)
+        {
+            if (fileSize > smallDataSetsSizeLimit)
             {
                 return bigDataSetsFolder;
             } else