diff --git a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
index 50b70066709d1d69d3c71718b5088e625c7d0bd8..2b45564c964ffe6cf9ce45f3325f5bb653479954 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
@@ -516,6 +516,7 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin {
             System.out.println("Debug          : '" + plugin.debug + "'");
             System.out.println();
         }
+        boolean atLeastOneFileNotValid = false;
         for (String file : args) {
             System.out.println("----------------------------------");
             System.out.println("Validation of file '" + file + "'");
@@ -536,13 +537,16 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin {
                 System.out.println("\t..........");
             }
             System.out.println("\tisValid: " + plugin.isValid());
+            if (! plugin.isValid()) {
+                atLeastOneFileNotValid = true;
+            }
         }
 
         // exit code
-        if (plugin.isValid()) {
-            System.exit(0);
-        } else {
+        if (atLeastOneFileNotValid) {
             System.exit(1);
+        } else {
+            System.exit(0);
         }
     }
 }