diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/BatchResult.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/BatchResult.java
index ed52033b86c7430b0df0cb03ff59214edb9959da..d2d19bf12c080632d5c1e924ccdf268dd7746cf8 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/BatchResult.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/BatchResult.java
@@ -36,7 +36,8 @@ public class BatchResult
     {
         this.results = new TreeMap<String, DataSetArchiveVerificationResult>();
 
-        DataSetArchiveVerificationResult missingResult = new DataSetArchiveVerificationResult(VerificationErrorType.ERROR, "dataset not processed");
+        DataSetArchiveVerificationResult missingResult =
+                new DataSetArchiveVerificationResult(VerificationErrorType.ERROR, "Internal error, dataset archive not verified");
 
         for (String dataSet : dataSets)
         {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/DataSetArchiveVerificationResult.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/DataSetArchiveVerificationResult.java
index 9245f89441c57eaaa971d3a518b1cedacc543aa3..1800c38b54a3acb9477b2d6be4dd29f724086a72 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/DataSetArchiveVerificationResult.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/DataSetArchiveVerificationResult.java
@@ -47,7 +47,7 @@ public class DataSetArchiveVerificationResult
     public DataSetArchiveVerificationResult(Exception e)
     {
         this.file = null;
-        this.errors = Collections.singletonList(new VerificationError(VerificationErrorType.ERROR, e.getClass().getName()+":"+e.getMessage()));
+        this.errors = Collections.singletonList(new VerificationError(VerificationErrorType.ERROR, e.getClass().getName() + ":" + e.getMessage()));
     }
 
     public ResultType getType()
@@ -68,6 +68,8 @@ public class DataSetArchiveVerificationResult
         {
             case WARNING:
                 return ResultType.WARNING;
+            case GENERAL_WARNING:
+                return ResultType.GENERAL_WARNING;
             case ERROR:
                 return ResultType.ERROR;
             case FATAL:
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/ResultType.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/ResultType.java
index b3750a9f598595c648e87e2322225aeb0ff1c205..0c1285855ddfd6a30bf5ee2ccd57bc482ce788c9 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/ResultType.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/ResultType.java
@@ -23,7 +23,7 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
  */
 public enum ResultType
 {
-    OK(0), WARNING(1), ERROR(2), FATAL(2);
+    OK(0), WARNING(1), GENERAL_WARNING(1), ERROR(2), FATAL(2);
 
     private final int exitCode;
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/SerialDataSetArchiveVerificationBatch.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/SerialDataSetArchiveVerificationBatch.java
index 4b38b9f03660179c23deb386d52277348d658612..1f872cb6a55f4a6547434e936723bb213107b66c 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/SerialDataSetArchiveVerificationBatch.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/SerialDataSetArchiveVerificationBatch.java
@@ -16,6 +16,9 @@
 
 package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
 
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.UUID;
 
 /**
  * Runs archive verification for a list of datasets.
@@ -29,16 +32,28 @@ public class SerialDataSetArchiveVerificationBatch implements IDataSetArchiveVer
 
     private final String[] dataSets;
 
+    private BatchResult batchResult;
+
     public SerialDataSetArchiveVerificationBatch(IDataSetArchiveVerifier verifier, String... dataSets)
+    {
+        this(verifier, new HashSet<DataSetArchiveVerificationResult>(), dataSets);
+    }
+
+    public SerialDataSetArchiveVerificationBatch(IDataSetArchiveVerifier verifier, Collection<DataSetArchiveVerificationResult> initialResults,
+            String... dataSets)
     {
         this.verifier = verifier;
         this.dataSets = dataSets;
+        batchResult = new BatchResult(dataSets);
+        for (DataSetArchiveVerificationResult initialResult : initialResults)
+        {
+            batchResult.add(UUID.randomUUID().toString(), initialResult);
+        }
     }
 
     @Override
     public BatchResult run()
     {
-        BatchResult batchResult = new BatchResult(dataSets);
 
         for (String dataSet : dataSets)
         {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/VerificationErrorType.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/VerificationErrorType.java
index 764fb4ee1a712f4eef4f3375b1fc48d4f324ebd8..5136d2a20e2208aafeeb70660fcee6eee35234e7 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/VerificationErrorType.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/batch/VerificationErrorType.java
@@ -24,5 +24,5 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
 public enum VerificationErrorType
 {
     // don't change the order as the code depends on it
-    WARNING, ERROR, FATAL;
+    WARNING, GENERAL_WARNING, ERROR, FATAL;
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/DataSetArchiveVerificationBatchFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/DataSetArchiveVerificationBatchFactory.java
index 3d71ae152220b0e5b514329953818219925e5d7f..3d0a1afce17da25aa2726ec126a5d7a16904b782 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/DataSetArchiveVerificationBatchFactory.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/DataSetArchiveVerificationBatchFactory.java
@@ -26,6 +26,7 @@ import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
@@ -83,7 +84,15 @@ public class DataSetArchiveVerificationBatchFactory
             List<IArchiveFileVerifier> verifiers = getVerifiers(properties, pathInfoRepository);
             DataSetArchiveVerifier verifier = new DataSetArchiveVerifier(archiveFileRepository, new CompositeVerifier(verifiers));
 
-            return new SerialDataSetArchiveVerificationBatch(verifier, Arrays.copyOfRange(args, 1, args.length));
+            if (pathInfoRepository == null)
+            {
+                Collection<DataSetArchiveVerificationResult> init = new ArrayList<DataSetArchiveVerificationResult>();
+                init.add(new DataSetArchiveVerificationResult(VerificationErrorType.GENERAL_WARNING, "pathinfo db not configured"));
+                return new SerialDataSetArchiveVerificationBatch(verifier, init, Arrays.copyOfRange(args, 1, args.length));
+            } else
+            {
+                return new SerialDataSetArchiveVerificationBatch(verifier, Arrays.copyOfRange(args, 1, args.length));
+            }
 
         } catch (ConfigurationException e)
         {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/ResultPrinter.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/ResultPrinter.java
index 9c5131f0dcd956cd3f4019570f9873ecd67acac3..332a5daecb2ec88a16372fe60f61a21391508d6c 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/ResultPrinter.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/archiveverifier/cli/ResultPrinter.java
@@ -74,6 +74,9 @@ public class ResultPrinter
             if (VerificationErrorType.FATAL.equals(type))
             {
                 out.println(result.getErrors().get(0).getMessage());
+            } else if (VerificationErrorType.GENERAL_WARNING.equals(type))
+            {
+                out.println("WARNING: " + error.getMessage());
             } else
             {
                 out.println(type + " in " + dataSet + " (" + result.getFileName() + "): " + error.getMessage());
@@ -98,6 +101,7 @@ public class ResultPrinter
         int warning = counts.get(ResultType.WARNING);
         int error = counts.get(ResultType.ERROR);
         int fatal = counts.get(ResultType.FATAL);
+        int generalWarnings = counts.get(ResultType.GENERAL_WARNING);
 
         int total = ok + warning + error;
 
@@ -112,7 +116,7 @@ public class ResultPrinter
 
         if (warning + error == 0)
         {
-            out.println("No errors found");
+            out.println("No errors found.");
         } else
         {
             if (error > 0)
@@ -124,5 +128,10 @@ public class ResultPrinter
                 out.println(warning + " archive file(s) caused warnings");
             }
         }
+
+        if (generalWarnings > 0)
+        {
+            out.println(generalWarnings + " general warning(s).");
+        }
     }
 }