diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java
index 07d35ad64a32089309c7cb8f3a8a590053bb17e9..b6655741fc470a6ea7f46603ca0848f326ec22d2 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java
@@ -208,7 +208,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore
         GroupedDatasets groupedDataSets = groupByArchiveDifferencies(datasets, context);
         DatasetProcessingStatuses statuses = doArchive(groupedDataSets.getDifferentInArchive(), context);
 
-        doDeleteFromArchive(getDataSetsFailedToBeArchived(datasets, statuses));
+        deletePermanentlyFromArchive(getDataSetsFailedToBeArchived(datasets, statuses));
         if (removeFromDataStore)
         {
             removeFromDataStore(getArchivedDataSets(datasets, statuses), context);
@@ -330,6 +330,11 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore
         DatasetProcessingStatuses status = doDeleteFromArchive(datasets);
         return status != null ? status.getProcessingStatus() : null;
     }
+    
+    protected DatasetProcessingStatuses deletePermanentlyFromArchive(List<? extends IDatasetLocation> dataSets)
+    {
+        return doDeleteFromArchive(dataSets);
+    }
 
     protected final Status checkUnarchivePrerequisite(List<DatasetDescription> datasets)
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java
index ff2dab8ee06dc60114d584179b295eb57f352fe4..d2120532d82c46bffc05c3356ba6f1cad309229a 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java
@@ -259,12 +259,25 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin
 
     @Override
     protected DatasetProcessingStatuses doDeleteFromArchive(List<? extends IDatasetLocation> datasets)
+    {
+        return delete(datasets, deleteAction);
+    }
+
+    @Override
+    protected DatasetProcessingStatuses deletePermanentlyFromArchive(
+            List<? extends IDatasetLocation> dataSets)
+    {
+        return delete(dataSets, DeleteAction.DELETE);
+    }
+
+    private DatasetProcessingStatuses delete(List<? extends IDatasetLocation> datasets,
+            DeleteAction action)
     {
         DatasetProcessingStatuses statuses = new DatasetProcessingStatuses();
         for (IDatasetLocation dataset : datasets)
         {
-            Status status = deleteAction.execute(fileOperationsManager, dataset);
-            statuses.addResult(dataset.getDataSetCode(), status, deleteAction.getOperation());
+            Status status = action.execute(fileOperationsManager, dataset);
+            statuses.addResult(dataset.getDataSetCode(), status, action.getOperation());
         }
         return statuses;
     }