diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index e262870883e1c65e7f7a5c55d3fb34c53397072f..b7f1041ddb4a0dd25663e26a5f1faf4e3795b0ac 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -465,12 +465,14 @@ DhtRunner::getNodesStats(sa_family_t af) const
 NodeInfo
 DhtRunner::getNodeInfo() const {
     std::lock_guard<std::mutex> lck(dht_mtx);
-    NodeInfo info;
-    info.id = getId();
-    info.node_id = getNodeId();
+    NodeInfo info {};
+    if (auto dht = activeDht()) {
+        info.id = dht->getId();
+        info.node_id = dht->getNodeId();
+        info.ipv4 = dht->getNodesStats(AF_INET);
+        info.ipv6 = dht->getNodesStats(AF_INET6);
+    }
     info.ongoing_ops = ongoing_ops;
-    info.ipv4 = dht_->getNodesStats(AF_INET);
-    info.ipv6 = dht_->getNodesStats(AF_INET6);
     return info;
 }