diff --git a/src/dht_proxy_server.cpp b/src/dht_proxy_server.cpp
index dd63cfe5423a472817f5ee2b65ffce7c59bb15d8..c6686d6b56e50481dbef5c008cd666163325be7a 100644
--- a/src/dht_proxy_server.cpp
+++ b/src/dht_proxy_server.cpp
@@ -360,7 +360,7 @@ DhtProxyServer::updateStats(std::shared_ptr<NodeInfo> info) const
 #endif
     stats.putCount = puts_.size();
     stats.listenCount = listeners_.size();
-    stats.nodeInfo = info;
+    stats.nodeInfo = std::move(info);
     return sstats;
 }
 
diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index 1606b232655296a0b2f82ff9a8d91645f658ff9a..3fa79d1c7b6541c3a5a884587c656da8a04d9f41 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -497,7 +497,7 @@ DhtRunner::getNodeInfo(std::function<void(std::shared_ptr<NodeInfo>)> cb)
         info.ipv4 = dht.getNodesStats(AF_INET);
         info.ipv6 = dht.getNodesStats(AF_INET6);
         info.ongoing_ops = ongoing_ops;
-        cb(sinfo);
+        cb(std::move(sinfo));
         opEnded();
     });
     cv.notify_all();