diff --git a/tools/dhtscanner.cpp b/tools/dhtscanner.cpp
index 63a1f10809780296fe6fe07a79b92b72fda27837..7d2e67989a0fb43ad03ef45dde52b4cc05c0299f 100644
--- a/tools/dhtscanner.cpp
+++ b/tools/dhtscanner.cpp
@@ -30,7 +30,8 @@ using namespace dht;
 
 struct snode_compare {
     bool operator() (const std::shared_ptr<Node>& lhs, const std::shared_ptr<Node>& rhs) const{
-        return lhs->id < rhs->id;
+        return (lhs->id < rhs->id) ||
+            (lhs->id == rhs->id && lhs->getFamily() == AF_INET && rhs->getFamily() == AF_INET6);
     }
 };