diff --git a/python/opendht.pyx b/python/opendht.pyx
index 18b2a62ede026238da386715faf32f0110b41fab..265c3baad0070ef3ef507d7074fa76b963043723 100644
--- a/python/opendht.pyx
+++ b/python/opendht.pyx
@@ -151,7 +151,7 @@ cdef void py_done_callback(bool done, vector[shared_ptr[Node]]* nodes, void *use
         h._v.second = n
         node_ids.append(h)
     cbs = <object>user_data
-    if 'done' in cbs:
+    if 'done' in cbs and cbs['done']:
         cbs['done'](done, node_ids)
     ref.Py_DECREF(cbs)