diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
index cd1f7de8f9c75bb7c31cf53b53f99a1a3a4d7a2d..8745915c786a572a7ad72b9cde493d6b1fd1b53d 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
@@ -124,10 +124,7 @@ public class DataSetFileOperationsManager
         try
         {
             File destinationFolder = new File(destination, dataset.getDataSetLocation());
-            if (false == createFolderIfNotExists(destinationFolder.getParentFile()))
-            {
-                deleteFolderIfExists(destinationFolder);
-            }
+            createFolderIfNotExists(destinationFolder.getParentFile());
             operationLog.info("Copy dataset '" + dataset.getDatasetCode() + "' from '"
                     + originalData.getPath() + "' to '" + destinationFolder.getParentFile());
             executor.copyDataSetToDestination(originalData, destinationFolder.getParentFile());
@@ -217,15 +214,6 @@ public class DataSetFileOperationsManager
         }
     }
 
-    private void deleteFolderIfExists(File destinationFolder)
-    {
-        BooleanStatus destinationExists = destinationExists(destinationFolder);
-        if (destinationExists.isSuccess())
-        {
-            executor.deleteFolder(destinationFolder);
-        }
-    }
-
     private boolean createFolderIfNotExists(File destinationFolder)
     {
         BooleanStatus destinationExists = destinationExists(destinationFolder);
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
index 053ba1a1acc99f1128a5dd9e5d3a498fb263060f..b4cdae4e5d088594128eb73b5b4c96c5689a6bc5 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
@@ -516,19 +516,12 @@ public class DataSetFileOperationsManagerTest extends AbstractFileSystemTestCase
                     will(returnValue(Status.OK));
 
                     /*
-                     * ds2: directory exists in archive -> delete and copy
+                     * ds2: directory exists in archive -> just copy
                      */
                     one(sshExecutor).exists(ds2ArchivedLocationFile.getParentFile().getPath(),
                             SSH_TIMEOUT_MILLIS);
                     will(returnValue(BooleanStatus.createTrue()));
 
-                    one(sshExecutor).exists(ds2ArchivedLocationFile.getPath(), SSH_TIMEOUT_MILLIS);
-                    will(returnValue(BooleanStatus.createTrue()));
-
-                    one(sshExecutor).executeCommandRemotely(
-                            "rm -rf " + ds2ArchivedLocationFile.getPath(), SSH_TIMEOUT_MILLIS);
-                    will(returnValue(OK_RESULT));
-
                     one(copier).copyToRemote(ds2Location, ds2ArchivedLocationFile.getParentFile(),
                             HOST, null, null);
                     will(returnValue(Status.OK));