diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc
index cc52c98b1725ea618f8f9c01b6c8bba4134dc96e..377c1ed167ea20974769db84215fa8cec5fecd8d 100644
--- a/src/cpp/server/server.cc
+++ b/src/cpp/server/server.cc
@@ -60,12 +60,10 @@ class DefaultGlobalCallbacks GRPC_FINAL : public Server::GlobalCallbacks {
 static Server::GlobalCallbacks* g_callbacks = nullptr;
 static gpr_once g_once_init_callbacks = GPR_ONCE_INIT;
 
-static void DeleteGlobalCallbacks() { delete g_callbacks; }
-
 static void InitGlobalCallbacks() {
   if (g_callbacks == nullptr) {
-    g_callbacks = new DefaultGlobalCallbacks();
-    atexit(DeleteGlobalCallbacks);
+    static DefaultGlobalCallbacks default_global_callbacks;
+    g_callbacks = &default_global_callbacks;
   }
 }