diff --git a/python/opendht.pyx b/python/opendht.pyx
index 67ff82f6286d383b12ff51ede8c69987f1ba1b6f..b43a3c40f9c14dabaa496b9375379ff2ea511ca6 100644
--- a/python/opendht.pyx
+++ b/python/opendht.pyx
@@ -139,7 +139,7 @@ cdef class Value(object):
     property owner:
         def __get__(self):
             h = InfoHash()
-            h._infohash = self._value.get().owner.getId()
+            h._infohash = self._value.get().owner.get().getId()
             return h
     property recipient:
         def __get__(self):
diff --git a/python/opendht_cpp.pxd b/python/opendht_cpp.pxd
index 4c726a59411519eb9aad1199a414ea311739fede..f89bf4ba0cfb2cb168a0c50e298753fedd4b99b8 100644
--- a/python/opendht_cpp.pxd
+++ b/python/opendht_cpp.pxd
@@ -86,7 +86,7 @@ cdef extern from "opendht/value.h" namespace "dht":
         Value(const uint8_t* dat_ptr, size_t dat_len) except +
         string toString() const
         uint64_t id
-        PublicKey owner
+        shared_ptr[PublicKey] owner
         InfoHash recipient
         vector[uint8_t] data
         string user_type