diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index 63c1685a89c8e5bd091ffcbd540f946544f6a135..29d893db710a1982b2c7e3aefd485c3039a87d76 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -1247,12 +1247,6 @@ static void done_request_event(void *req, grpc_cq_completion *c) {
     gpr_free(req);
   }
 
-  if (gpr_atm_acq_load(&server->shutdown_flag)) {
-    gpr_mu_lock(&server->mu_global);
-    maybe_finish_shutdown(server);
-    gpr_mu_unlock(&server->mu_global);
-  }
-
   server_unref(server);
 }