diff --git a/Jenkinsfile b/Jenkinsfile
index 2d493b23e1189974f08872f05924e6e4aa296da8..641019c79c60a156f7c82d3547a6fe9200a04a72 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -271,19 +271,21 @@ pipeline {
                     parallel {
                         stage('E2E-EA') {
                             steps {
-                                script {
-                                    def stageName = env.STAGE_NAME
-                                    def bezeichner = env.EA_BEZEICHNER
-                                    def dbPort = 27018
+                                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
+                                    script {
+                                        def stageName = env.STAGE_NAME
+                                        def bezeichner = env.EA_BEZEICHNER
+                                        def dbPort = 27018
 
-                                    exposeDatenbank(generateNamespace(bezeichner), dbPort)
-                                    exposeElasticSearch()
+                                        exposeDatenbank(generateNamespace(bezeichner), dbPort)
+                                        exposeElasticSearch()
 
-                                    def testResult = runTests(bezeichner, 'einheitlicher-ansprechpartner', dbPort)
+                                        def testResult = runTests(bezeichner, 'einheitlicher-ansprechpartner', dbPort)
 
-                                    if(!testResult) {
-                                        E2E_FAILED += "${stageName}, "
-                                        error("Fehler in Stage ${stageName}")
+                                        if(!testResult) {
+                                            E2E_FAILED += "${stageName}, "
+                                            error("Fehler in Stage ${stageName}")
+                                        }
                                     }
                                 }
                             }
@@ -297,19 +299,21 @@ pipeline {
                         }
                         stage('E2E-main') {
                             steps {
-                                script {
-                                    def stageName = env.STAGE_NAME
-                                    def bezeichner = env.MAIN_BEZEICHNER
-                                    def dbPort = 27019
+                                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
+                                    script {
+                                        def stageName = env.STAGE_NAME
+                                        def bezeichner = env.MAIN_BEZEICHNER
+                                        def dbPort = 27019
 
-                                    exposeDatenbank(generateNamespace(bezeichner), dbPort)
-                                    exposeElasticSearch()
+                                        exposeDatenbank(generateNamespace(bezeichner), dbPort)
+                                        exposeElasticSearch()
 
-                                    def testResult = runTests(bezeichner, 'main-tests', dbPort)
+                                        def testResult = runTests(bezeichner, 'main-tests', dbPort)
 
-                                    if(!testResult) {
-                                        E2E_FAILED += "${stageName}, "
-                                        error("Fehler in Stage ${stageName}")
+                                        if(!testResult) {
+                                            E2E_FAILED += "${stageName}, "
+                                            error("Fehler in Stage ${stageName}")
+                                        }
                                     }
                                 }
                             }
@@ -666,8 +670,10 @@ String runTests(String bezeichner, String reportFolder, Integer dbPort) {
             return true
         }
     } catch (Exception e) {
-        sh "ls -l /root/.npm/_logs/*-debug.log"
-        sh "cat /root/.npm/_logs/*-debug.log"
+        if (hasNpmDebugLog()) {
+            sh "cat /root/.npm/_logs/*-debug.log"
+        }
+    
         return false
     }
 }
@@ -850,4 +856,8 @@ String decodeString(String encoded) {
 
 Map getElasticsearchSecret(String namespace) {
     return readJSON ( text: sh (script: "kubectl get secret elasticsearch-credentials -n ${namespace} -o jsonpath={.data}", returnStdout: true))
+}
+
+Boolean hasNpmDebugLog() {
+    return sh (script: "ls -l /root/.npm/_logs/*-debug.log", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer
 }
\ No newline at end of file