diff --git a/c/opendht.cpp b/c/opendht.cpp
index 6f9770c57ed91ed6715f0ff1df584296f9bbcfc3..ba453c31b64a04c749d9b8342234b708d8114215 100644
--- a/c/opendht.cpp
+++ b/c/opendht.cpp
@@ -30,7 +30,7 @@ void dht_infohash_get(dht_infohash* h, const uint8_t* dat, size_t dat_size)
 }
 
 bool dht_infohash_is_zero(const dht_infohash* h) {
-    return static_cast<bool>(*reinterpret_cast<const dht::InfoHash*>(h));
+    return !static_cast<bool>(*reinterpret_cast<const dht::InfoHash*>(h));
 }
 
 const char* dht_pkid_print(const dht_pkid* h)