diff --git a/tcp_tests/managers/jenkins/client.py b/tcp_tests/managers/jenkins/client.py
index 063d400..79b248c 100644
--- a/tcp_tests/managers/jenkins/client.py
+++ b/tcp_tests/managers/jenkins/client.py
@@ -28,22 +28,25 @@
             :return: response
             :raise ConnectionError after several unsuccessful connections
             """
-            err = None
+            err_msg = None
             for count in range(max_count):
                 try:
                     return func(*args, **kwargs)
                 except Exception as err:
-                    print("Try {count}/{max_count} caught Exception: {err}. \
-                    \n... repeat after {secs} secs".
+                    err_msg = err
+                    print("Try {count}/{max_count} caught "
+                          "Exception in {fn}: {err}."
+                          "\n... repeat after {secs} secs".
                           format(err=err,
                                  count=count+1,
                                  max_count=max_count,
-                                 secs=sleep_before_retry))
+                                 secs=sleep_before_retry,
+                                 fn=func.__name__))
                 time.sleep(sleep_before_retry)
             print("Function failed in {total_time} seconds".format(
                 total_time=max_count*sleep_before_retry)
             )
-            raise err
+            raise err_msg
         return __retry
     return _retry
 
@@ -191,7 +194,11 @@
 
         def building():
             try:
-                status = not self.build_info(name, build_id)['building']
+                # Nested retry decorator. Need to wait >30 min
+                # During mcp-upgrade job the Jenkins can being upgrading
+                # and can be inaccessible for >20 min
+                status = not retry(max_count=30)(
+                    self.build_info)(name, build_id)['building']
             except ConnectionError:
                 status = False
 
