diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index b72ea548b86e7a23bc87929cc9c8598e7bf66c3a..667e601c46b37be6ae936e2cb0efc72855544575 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;