diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index 6bb0b9827..0e4001768 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -3558,6 +3558,10 @@ def valgrind(parser, xml_parent, data):
                 :failed: * **invalid-read-write** (`int`)
                          * **definitely-lost** (`int`)
                          * **total** (`int`)
+    :arg bool fail-no-reports: Fail build if no reports are found
+      (default false)
+    :arg bool fail-invalid-reports: Fail build if reports are malformed
+      (default false)
     :arg bool publish-if-aborted: Publish results for aborted builds
       (default false)
     :arg bool publish-if-failed: Publish results for failed builds
@@ -3589,6 +3593,10 @@ def valgrind(parser, xml_parent, data):
         XML.SubElement(p, '%sThresholdTotal' % threshold).text \
             = str(dthreshold.get('total', ''))
 
+    XML.SubElement(p, 'failBuildOnMissingReports').text = str(
+        data.get('fail-no-reports', False)).lower()
+    XML.SubElement(p, 'failBuildOnInvalidReports').text = str(
+        data.get('fail-invalid-reports', False)).lower()
     XML.SubElement(p, 'publishResultsForAbortedBuilds').text = str(
         data.get('publish-if-aborted', False)).lower()
     XML.SubElement(p, 'publishResultsForFailedBuilds').text = str(
diff --git a/tests/publishers/fixtures/valgrind001.xml b/tests/publishers/fixtures/valgrind001.xml
index 159a7a2b2..758a01aa8 100644
--- a/tests/publishers/fixtures/valgrind001.xml
+++ b/tests/publishers/fixtures/valgrind001.xml
@@ -10,6 +10,8 @@
         <failThresholdInvalidReadWrite>4</failThresholdInvalidReadWrite>
         <failThresholdDefinitelyLost>5</failThresholdDefinitelyLost>
         <failThresholdTotal>6</failThresholdTotal>
+        <failBuildOnMissingReports>true</failBuildOnMissingReports>
+        <failBuildOnInvalidReports>true</failBuildOnInvalidReports>
         <publishResultsForAbortedBuilds>true</publishResultsForAbortedBuilds>
         <publishResultsForFailedBuilds>true</publishResultsForFailedBuilds>
       </valgrindPublisherConfig>
diff --git a/tests/publishers/fixtures/valgrind001.yaml b/tests/publishers/fixtures/valgrind001.yaml
index c57ffe16c..0373b6b4c 100644
--- a/tests/publishers/fixtures/valgrind001.yaml
+++ b/tests/publishers/fixtures/valgrind001.yaml
@@ -10,5 +10,7 @@ publishers:
           invalid-read-write: 4
           definitely-lost: 5
           total: 6
+      fail-no-reports: true
+      fail-invalid-reports: true
       publish-if-aborted: true
       publish-if-failed: true