diff --git a/jenkins/ci.jpl b/jenkins/ci.jpl
index edf6a20..03a3673 100644
--- a/jenkins/ci.jpl
+++ b/jenkins/ci.jpl
@@ -384,16 +384,10 @@
               lava_timeout = 18000    // 5h
             }
             withCredentials([usernamePassword(credentialsId: env.LAVA_CREDENTIALS, passwordVariable: 'LAVA_TOKEN', usernameVariable: 'LAVA_USER')]) {
-              output = sh(script: """./tf-m-ci-scripts/lava_helper/lava_wait_jobs.py --job-ids ${all_jobs.join(",")} \
-                          --lava-url ${env.LAVA_URL} --lava-user ${LAVA_USER} --lava-token ${LAVA_TOKEN} \
-                          --artifacts-path cfgs --lava-timeout ${lava_timeout} \
-                          """, returnStdout: true).trim()
-              println("--- output from lava_wait_jobs.py ---")
-              println(output)
-              println("--- end of output from lava_wait_jobs.py ---")
-              test_results = parseTestResults(output)
-              archiveArtifacts artifacts: 'test_summary.*', allowEmptyArchive: true
-              verifyTestStatus(output)
+              sh(script: """./tf-m-ci-scripts/lava_helper/lava_wait_jobs.py --job-ids ${all_jobs.join(",")} \
+                         --lava-url ${env.LAVA_URL} --lava-user ${LAVA_USER} --lava-token ${LAVA_TOKEN} \
+                         --artifacts-path cfgs --lava-timeout ${lava_timeout} > output.log
+                         """)
               if (env.CODE_COVERAGE_EN == "TRUE") {
                 println("Producing merged report")
                 sh(script: """./tf-m-ci-scripts/lava_helper/codecov_merge.sh""")
@@ -413,10 +407,17 @@
         //print(hudson.Functions.printThrowable(org.codehaus.groovy.runtime.StackTraceUtils.sanitize(e)))
         success = false
       } finally {
+        output = readFile("output.log")
+        println("--- output from lava_wait_jobs.py ---")
+        println(output)
+        println("--- end of output from lava_wait_jobs.py ---")
+        test_results = parseTestResults(output)
+        archiveArtifacts artifacts: 'test_summary.*', allowEmptyArchive: true
         archiveArtifacts artifacts: 'cfgs/**', allowEmptyArchive: true
         if (all_jobs.size() > 0) {
           emailNotification(success, 'test', test_results)
         }
+        verifyTestStatus(output)
         cleanWs()
         if (!success) {
           error("There was an Error waiting for LAVA jobs")
