diff --git a/tfm_ci_pylib/lava_rpc_connector.py b/tfm_ci_pylib/lava_rpc_connector.py
index 5db23b1..a0255d8 100644
--- a/tfm_ci_pylib/lava_rpc_connector.py
+++ b/tfm_ci_pylib/lava_rpc_connector.py
@@ -118,11 +118,14 @@
         return job_info
 
     def get_error_reason(self, job_id):
-        lava_res = self.results.get_testsuite_results_yaml(job_id, 'lava')
-        results = yaml.load(lava_res)
-        for test in results:
-            if test['name'] == 'job':
-                return(test.get('metadata', {}).get('error_type', ''))
+        try:
+            lava_res = self.results.get_testsuite_results_yaml(job_id, 'lava')
+            results = yaml.load(lava_res)
+            for test in results:
+                if test['name'] == 'job':
+                    return(test.get('metadata', {}).get('error_type', ''))
+        except Exception:
+            return("Unknown")
 
     def get_job_state(self, job_id):
         return self.scheduler.job_state(job_id)["job_state"]
