diff --git a/src/decorators/retry_node.cpp b/src/decorators/retry_node.cpp
index 81b2bb6ec..1a40247dd 100644
--- a/src/decorators/retry_node.cpp
+++ b/src/decorators/retry_node.cpp
@@ -67,6 +67,8 @@ NodeStatus RetryNode::tick()
 
       case NodeStatus::FAILURE: {
         try_count_++;
+        // Refresh max_attempts_ in case it changed in one of the child nodes
+        getInput(NUM_ATTEMPTS, max_attempts_);
         do_loop = try_count_ < max_attempts_ || max_attempts_ == -1;
 
         resetChild();