diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
index f38963808bb089bc90bf33b4196314707eaf4a77..41964b3bb32a00692f1e91e7d0e8714dc4f5c7c6 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
@@ -119,13 +119,23 @@ public class SLUBTechnicalMetadataExtractorMediaConchPlugin implements MDExtract
                 validationLog.add(line);
                 line = reader.readLine();
             }
-            if (p.exitValue() == 0) {
-                isvalid = true;
-                iswellformed=true;
+            if (p.exitValue() == 0) { // normal execution
+                if ( Pattern.matches("^pass!.*", validationLog.get(0)) ) {
+                    isvalid = true;
+                    iswellformed = true;
+                } else if ( Pattern.matches("^fail!.*", validationLog.get(0)) ) {
+                    isvalid = false;
+                    iswellformed = false;
+                    extractionErrors = validationLog;
+                } else {
+                    extractionErrors = validationLog;
+                    System.out.println("ERROR: unexcepted mediaconch result, unable to decide if valid or invalid");
+                    throw new Exception("ERROR: unexcepted mediaconch result, unable to decide if valid or invalid");
+                }
             } else { // something wrong
-                isvalid = false;
-                iswellformed = false;
                 extractionErrors = validationLog;
+                System.out.println("ERROR: unexcepted mediaconch exit code: " + p.exitValue());
+                throw new Exception("ERROR: unexcepted mediaconch exit code: " + p.exitValue());
             }
         } catch (IOException e) {
             //log.error("exception creation socket, clamd not available at host=" + host + "port=" + port, e);