diff --git a/http2/adapter/callback_visitor.cc b/http2/adapter/callback_visitor.cc
index f1ff90a..f0dcd0b 100644
--- a/http2/adapter/callback_visitor.cc
+++ b/http2/adapter/callback_visitor.cc
@@ -45,7 +45,7 @@
   nghttp2_session_callbacks* c;
   nghttp2_session_callbacks_new(&c);
   *c = callbacks;
-  callbacks_.reset(c);
+  callbacks_ = MakeCallbacksPtr(c);
 }
 
 ssize_t CallbackVisitor::OnReadyToSend(absl::string_view serialized) {
diff --git a/http2/adapter/nghttp2_session.cc b/http2/adapter/nghttp2_session.cc
index 1809f3e..9868958 100644
--- a/http2/adapter/nghttp2_session.cc
+++ b/http2/adapter/nghttp2_session.cc
@@ -18,7 +18,7 @@
       nghttp2_session_server_new2(&session, callbacks.get(), userdata, options);
       break;
   }
-  session_.reset(session);
+  session_ = MakeSessionPtr(session);
 }
 
 NgHttp2Session::~NgHttp2Session() {
diff --git a/http2/adapter/nghttp2_test.cc b/http2/adapter/nghttp2_test.cc
index f183f7f..e489a99 100644
--- a/http2/adapter/nghttp2_test.cc
+++ b/http2/adapter/nghttp2_test.cc
@@ -75,7 +75,7 @@
                           s->ReadNext(length));
           return 0;
         });
-    session_.reset(ptr);
+    session_ = MakeSessionPtr(ptr);
   }
 
   testing::StrictMock<MockNghttp2Callbacks> mock_callbacks_;
diff --git a/http2/adapter/nghttp2_util.cc b/http2/adapter/nghttp2_util.cc
index 9a136e9..fc9ca59 100644
--- a/http2/adapter/nghttp2_util.cc
+++ b/http2/adapter/nghttp2_util.cc
@@ -31,11 +31,11 @@
 
 nghttp2_session_callbacks_unique_ptr MakeCallbacksPtr(
     nghttp2_session_callbacks* callbacks) {
-  return nghttp2_session_callbacks_unique_ptr(callbacks, DeleteCallbacks);
+  return nghttp2_session_callbacks_unique_ptr(callbacks, &DeleteCallbacks);
 }
 
 nghttp2_session_unique_ptr MakeSessionPtr(nghttp2_session* session) {
-  return nghttp2_session_unique_ptr(session, DeleteSession);
+  return nghttp2_session_unique_ptr(session, &DeleteSession);
 }
 
 uint8_t* ToUint8Ptr(char* str) { return reinterpret_cast<uint8_t*>(str); }
diff --git a/http2/adapter/nghttp2_util.h b/http2/adapter/nghttp2_util.h
index bb093e0..78d4702 100644
--- a/http2/adapter/nghttp2_util.h
+++ b/http2/adapter/nghttp2_util.h
@@ -21,8 +21,8 @@
     NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
 inline constexpr int kCancelStatus = NGHTTP2_ERR_CANCEL;
 
-using CallbacksDeleter = void (&)(nghttp2_session_callbacks*);
-using SessionDeleter = void (&)(nghttp2_session*);
+using CallbacksDeleter = void (*)(nghttp2_session_callbacks*);
+using SessionDeleter = void (*)(nghttp2_session*);
 
 using nghttp2_session_callbacks_unique_ptr =
     std::unique_ptr<nghttp2_session_callbacks, CallbacksDeleter>;
