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 443ec1725f0824d13b457b2572d2b72a82dd842a..fd9e894b49f7c4a8059c4014ec435115284a6080 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
@@ -236,7 +236,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore
 
         return new GroupedDatasets(upToDateInArchive, differentInArchive);
     }
-    
+
     private List<DatasetDescription> getDataSetsFailedToBeArchived(
             List<DatasetDescription> datasets, DatasetProcessingStatuses statuses)
     {
@@ -336,7 +336,7 @@ 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);
@@ -417,7 +417,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore
             String logMessage = createLogMessage(datasetCode, status, operationDescription);
             if (status.isError())
             {
-                operationLog.error(logMessage);
+                notifyLog.error(logMessage);
                 failedDatasetCodes.add(datasetCode);
             } else
             {
@@ -554,12 +554,12 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore
     {
         this.statusUpdater = statusUpdater;
     }
-    
+
     protected void setShareIdManager(IShareIdManager shareIdManager)
     {
         this.shareIdManager = shareIdManager;
     }
-    
+
     protected void setService(IEncapsulatedOpenBISService service)
     {
         this.service = service;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDatastorePlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDatastorePlugin.java
index f63bb2159f8ecb52be3e0e7c0f600ef216c6bc6a..00fa7d3b221e63772642be22b84707f82546d0e9 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDatastorePlugin.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDatastorePlugin.java
@@ -40,6 +40,9 @@ public abstract class AbstractDatastorePlugin implements Serializable
     static protected final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
             AbstractDatastorePlugin.class);
 
+    static protected final Logger notifyLog = LogFactory.getLogger(LogCategory.NOTIFY,
+            AbstractDatastorePlugin.class);
+
     private static final String SUB_DIRECTORY_NAME = "sub-directory-name";
 
     private static final long serialVersionUID = 1L;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DistributedPackagingDataSetFileOperationsManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DistributedPackagingDataSetFileOperationsManager.java
index 080dc3747954aac94092392e9d43f7c2ebad0540..22b1752ff5312bbbae21165bd840d423a2cfb53c 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DistributedPackagingDataSetFileOperationsManager.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DistributedPackagingDataSetFileOperationsManager.java
@@ -169,13 +169,18 @@ public class DistributedPackagingDataSetFileOperationsManager implements IDataSe
                 {
                     dataSetPackager.close();
 
-                    List<String> errors =
-                            verify(file, new ZipFileIntegrityVerifier());
-
-                    if (errors.size() > 0)
+                    if (Status.OK.equals(status))
                     {
-                        throw new RuntimeException(errors.toString());
+                        List<String> errors =
+                                verify(file, new ZipFileIntegrityVerifier());
+
+                        if (errors.size() > 0)
+                        {
+                            status = Status.createError(errors.toString());
+                            throw new RuntimeException(errors.toString());
+                        }
                     }
+
                     operationLog.info("Data set '" + dataSetCode + "' archived: " + file);
                 } catch (Exception ex)
                 {