diff --git a/beemapi/node.py b/beemapi/node.py
index e570f4a468775835164ed1256f2c2b17aaeefc7b..ca4b3da76e787eea78b8c849edea02aa16892311 100644
--- a/beemapi/node.py
+++ b/beemapi/node.py
@@ -120,6 +120,11 @@ class Nodes(list):
     def num_retries_call_reached(self):
         return self.error_cnt_call >= self.num_retries_call
 
+    def disable_node(self):
+        """Disable current node"""
+        if self.node is not None and self.num_retries_call >= 0:
+            self.node.error_cnt_call = self.num_retries_call
+
     def increase_error_cnt(self):
         """Increase node error count for current node"""
         if self.node is not None:
diff --git a/beemapi/steemnoderpc.py b/beemapi/steemnoderpc.py
index 1ce9fa379bb0e2cfb7ef3acff2a8ee0e42ed48d7..a2084a33ecebb5e8eec672451cc0d4d221294de3 100644
--- a/beemapi/steemnoderpc.py
+++ b/beemapi/steemnoderpc.py
@@ -118,8 +118,9 @@ class SteemNodeRPC(GrapheneRPC):
         elif re.search("Could not find API", msg):
             if self._check_api_name(msg):
                 if self.nodes.working_nodes_count > 1 and self.nodes.num_retries  > -1:
+                    self.nodes.disable_node()
                     self._switch_to_next_node(msg, "ApiNotSupported")
-                    doRetry = False
+                    doRetry = True
                 else:
                     raise exceptions.ApiNotSupported(msg)
             else:
@@ -151,8 +152,9 @@ class SteemNodeRPC(GrapheneRPC):
             raise exceptions.UnhandledRPCError("Use Operation(op, appbase=True) to prevent error: " + msg)
         elif re.search("Client returned invalid format. Expected JSON!", msg):
             if self.nodes.working_nodes_count > 1  and self.nodes.num_retries  > -1:
+                self.nodes.disable_node()
                 self._switch_to_next_node(msg)
-                doRetry = False
+                doRetry = True
             else:
                 raise exceptions.UnhandledRPCError(msg)
         elif msg: