diff --git a/lib/bmc_redfish_utils.py b/lib/bmc_redfish_utils.py
index e240d94..8299abd 100644
--- a/lib/bmc_redfish_utils.py
+++ b/lib/bmc_redfish_utils.py
@@ -6,6 +6,7 @@
 
 import json
 import re
+from json.decoder import JSONDecodeError
 
 import gen_print as gp
 from robot.libraries.BuiltIn import BuiltIn
@@ -66,8 +67,13 @@
                                     "/redfish/v1/Systems/1").
         attribute                   Name of the attribute (e.g. 'PowerState').
         """
-
-        resp = self._redfish_.get(resource_path)
+        try:
+            resp = self._redfish_.get(resource_path)
+        except JSONDecodeError as e:
+            BuiltIn().log_to_console(
+                "get_attribute: JSONDecodeError, re-trying"
+            )
+            resp = self._redfish_.get(resource_path)
 
         if verify:
             if resp.dict[attribute] == verify:
@@ -308,9 +314,18 @@
                 ):
                     continue
 
-                self._rest_response_ = self._redfish_.get(
-                    resource, valid_status_codes=[200, 404, 405, 500]
-                )
+                try:
+                    self._rest_response_ = self._redfish_.get(
+                        resource, valid_status_codes=[200, 404, 405, 500]
+                    )
+                except JSONDecodeError as e:
+                    BuiltIn().log_to_console(
+                        "enumerate_request: JSONDecodeError, re-trying"
+                    )
+                    self._rest_response_ = self._redfish_.get(
+                        resource, valid_status_codes=[200, 404, 405, 500]
+                    )
+
                 # Enumeration is done for available resources ignoring the
                 # ones for which response is not obtained.
                 if self._rest_response_.status != 200:
diff --git a/lib/bmc_redfish_utils.robot b/lib/bmc_redfish_utils.robot
index 1e8bb10..c4422e8 100644
--- a/lib/bmc_redfish_utils.robot
+++ b/lib/bmc_redfish_utils.robot
@@ -32,7 +32,8 @@
     #  }
     # }
 
-    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Systems/${SYSTEM_ID}/  ComputerSystem.Reset
+    ${target}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  redfish_utils.Get Target Actions  /redfish/v1/Systems/${SYSTEM_ID}/  ComputerSystem.Reset
     ${payload}=  Create Dictionary  ResetType=${reset_type}
     ${resp}=  Redfish.Post  ${target}  body=&{payload}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
@@ -52,7 +53,8 @@
     #  "target": "/redfish/v1/Managers/${MANAGER_ID}/Actions/Manager.Reset"
     # }
 
-    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Managers/${MANAGER_ID}/  Manager.Reset
+    ${target}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  redfish_utils.Get Target Actions  /redfish/v1/Managers/${MANAGER_ID}/  Manager.Reset
     ${payload}=  Create Dictionary  ResetType=${reset_type}
     Redfish.Post  ${target}  body=&{payload}
 
diff --git a/lib/utils.robot b/lib/utils.robot
index 925b148..084d400 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -389,7 +389,8 @@
 Redfish Get Auto Reboot
     [Documentation]  Returns auto reboot setting.
 
-    ${resp}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  Boot
+    ${resp}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  Boot
     RETURN  ${resp["AutomaticRetryConfig"]}
 
 
@@ -906,7 +907,8 @@
     #    "State": "Enabled"
     # },
 
-    ${status}=  Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  Status
+    ${status}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  Status
     RETURN  ${status["State"]}
 
 
@@ -917,7 +919,8 @@
     # Description of argument(s):
     # match_state    Expected match state (e.g. Enabled, Starting, Error)
 
-    ${Status}=  Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  Status
+    ${Status}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  Status
 
     Should Be Equal As Strings  ${match_state}  ${Status['State']}
 
@@ -935,7 +938,8 @@
     #    "State": "StandbyOffline"
     # },
 
-    ${chassis}=  Redfish.Get Properties  /redfish/v1/Chassis/${CHASSIS_ID}
+    ${chassis}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  Redfish.Get Properties  /redfish/v1/Chassis/${CHASSIS_ID}
     RETURN  ${chassis["PowerState"]}  ${chassis["Status"]["State"]}
 
 
@@ -947,7 +951,8 @@
     #    "LastState": "OSRunning"
     # },
 
-    ${boot_progress}=  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/
+    ${boot_progress}=  Wait Until Keyword Succeeds  1 min  20 sec
+    ...  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/
 
     Return From Keyword If  "${PLATFORM_ARCH_TYPE}" == "x86"
     ...  NA  ${boot_progress["Status"]["State"]}
