diff --git a/src/node.cpp b/src/node.cpp
index 7e68134d32c09dd952d929bcb0c2ab3cd218ad4e..8a06b4469e667597784d4f7a7c8346b471b36674 100644
--- a/src/node.cpp
+++ b/src/node.cpp
@@ -83,9 +83,9 @@ void
 Node::received(time_point now, std::shared_ptr<net::Request> req)
 {
     time = now;
+    expired_ = false;
     if (req) {
         reply_time = now;
-        expired_ = false;
         for (auto it = requests_.begin(); it != requests_.end();) {
             auto r = it->lock();
             if (not r or r == req)