diff --git a/src/core/surface/secure_channel_create.c b/src/core/surface/secure_channel_create.c
index 289bf0111c94757be4c8a36085008a39142da60b..3f3469720d8bfffbc21d6d2ee03b279ae30951f0 100644
--- a/src/core/surface/secure_channel_create.c
+++ b/src/core/surface/secure_channel_create.c
@@ -195,6 +195,7 @@ static grpc_subchannel *subchannel_factory_create_subchannel(
   memset(c, 0, sizeof(*c));
   c->base.vtable = &connector_vtable;
   c->security_connector = f->security_connector;
+  gpr_mu_init(&c->mu);
   gpr_ref_init(&c->refs, 1);
   args->mdctx = f->mdctx;
   args->args = final_args;