diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index b1e3ec9876f99e029b59b9ceabbf14c9494290c0..20985af44c0275975a8f726d9b0c33e7a66d50be 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -828,7 +828,7 @@ void grpc_server_shutdown_and_notify(grpc_server *server,
   grpc_cq_begin_op(cq, NULL);
   server->shutdown_tags =
       gpr_realloc(server->shutdown_tags,
-                  sizeof(void *) * (server->num_shutdown_tags + 1));
+                  sizeof(shutdown_tag) * (server->num_shutdown_tags + 1));
   sdt = &server->shutdown_tags[server->num_shutdown_tags++];
   sdt->tag = tag;
   sdt->cq = cq;