diff --git a/tcp_tests/managers/jenkins/client.py b/tcp_tests/managers/jenkins/client.py
index 0fdff80..1256552 100644
--- a/tcp_tests/managers/jenkins/client.py
+++ b/tcp_tests/managers/jenkins/client.py
@@ -75,7 +75,18 @@
         return self.job_info(name).get('builds')
 
     def build_info(self, name, build_id):
-        return self.__client.get_build_info(name, build_id)
+        max_count = 6
+        for count in range(max_count):
+            try:
+                build = self.__client.get_build_info(name, build_id)
+                return build
+            except jenkins.JenkinsException as err:
+                print("caught JenkinsException: {err}. \
+                repeat {count}/{max_count}".
+                      format(err=err,
+                             count=count,
+                             max_count=max_count))
+            time.sleep(10)
 
     def job_params(self, name):
         job = self.job_info(name)
