diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx
index b3816f98c8bab017630457a066a180a4a5b8426c..e7915e4e13ae08ad2598810e5c12fc9daac6b45d 100644
--- a/rocksdb/_rocksdb.pyx
+++ b/rocksdb/_rocksdb.pyx
@@ -206,7 +206,6 @@ cdef class PyGenericFilterPolicy(PyFilterPolicy):
         self.policy = <filter_policy.FilterPolicy*> new filter_policy.FilterPolicyWrapper(
                 bytes_to_string(ob.name()),
                 <void*>ob,
-                <void*>ob,
                 create_filter_callback,
                 key_may_match_callback)
 
diff --git a/rocksdb/cpp/filter_policy_wrapper.hpp b/rocksdb/cpp/filter_policy_wrapper.hpp
index 3b3e92d08323f38d1fd748706adf4e02734f041e..6b88f1d65f58a1e07189233f2fdf351183ba1592 100644
--- a/rocksdb/cpp/filter_policy_wrapper.hpp
+++ b/rocksdb/cpp/filter_policy_wrapper.hpp
@@ -20,13 +20,11 @@ namespace py_rocks {
 
             FilterPolicyWrapper(
                 string name,
-                void* create_filter_context,
-                void* key_may_match_context,
+                void* ctx,
                 create_filter_func create_filter_callback,
                 key_may_match_func key_may_match_callback):
                     name(name),
-                    create_filter_context(create_filter_context),
-                    key_may_match_context(key_may_match_context),
+                    ctx(ctx),
                     create_filter_callback(create_filter_callback),
                     key_may_match_callback(key_may_match_callback)
             {}
@@ -34,7 +32,7 @@ namespace py_rocks {
             void
             CreateFilter(const Slice* keys, int n, std::string* dst) const {
                 this->create_filter_callback(
-                    this->create_filter_context,
+                    this->ctx,
                     keys,
                     n,
                     dst);
@@ -43,7 +41,7 @@ namespace py_rocks {
             bool
             KeyMayMatch(const Slice& key, const Slice& filter) const {
                 return this->key_may_match_callback(
-                    this->key_may_match_context,
+                    this->ctx,
                     key,
                     filter);
             }
@@ -54,8 +52,7 @@ namespace py_rocks {
 
         private:
             string name;
-            void* create_filter_context;
-            void* key_may_match_context;
+            void* ctx;
             create_filter_func create_filter_callback;
             key_may_match_func key_may_match_callback;
     };
diff --git a/rocksdb/filter_policy.pxd b/rocksdb/filter_policy.pxd
index 190fb56d23be429ebeeeb1ede734f82cc6d5d647..52e0636b2e8e3f55ceb0d2095b39b46a1ebb6295 100644
--- a/rocksdb/filter_policy.pxd
+++ b/rocksdb/filter_policy.pxd
@@ -19,6 +19,5 @@ cdef extern from "cpp/filter_policy_wrapper.hpp" namespace "py_rocks":
         FilterPolicyWrapper(
             string,
             void*,
-            void*,
             create_filter_func,
             key_may_match_func) nogil except+