diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h
index a2090853864fdbc2c44855068576440ee9e1f004..c51ffa449300150f0090dce985ba1621f902bff6 100644
--- a/include/grpc/impl/codegen/grpc_types.h
+++ b/include/grpc/impl/codegen/grpc_types.h
@@ -338,7 +338,7 @@ typedef struct grpc_op {
        * Otherwise, \a compression_level won't be considered */
       struct {
         uint8_t is_set;
-        grpc_compression_level compression_level;
+        grpc_compression_level level;
       } maybe_compression_level;
     } send_initial_metadata;
     grpc_byte_buffer *send_message;
diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 6fc91cb7ea96dce94e522251b720e6f9563c86e5..54c93f8829746c57ec9583504ede076ee5b31834 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -1370,8 +1370,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,
         bool level_set = false;
         if (op->data.send_initial_metadata.maybe_compression_level.is_set) {
           effective_compression_level =
-              op->data.send_initial_metadata.maybe_compression_level
-                  .compression_level;
+              op->data.send_initial_metadata.maybe_compression_level.level;
           level_set = true;
         } else {
           const grpc_compression_options copts =
diff --git a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
index 27723afb0e9497728fd1f20fa3f714840aed5120..a3fa5938cdd79fd54b7c64d4652e1785f7751ef7 100644
--- a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
+++ b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
@@ -73,7 +73,7 @@
     _op.data.send_initial_metadata.count = metadata.count;
     _op.data.send_initial_metadata.metadata = metadata.grpc_metadataArray;
     _op.data.send_initial_metadata.maybe_compression_level.is_set = false;
-    _op.data.send_initial_metadata.maybe_compression_level.compression_level = 0;
+    _op.data.send_initial_metadata.maybe_compression_level.level = 0;
     _handler = handler;
   }
   return self;
diff --git a/test/core/end2end/tests/compressed_payload.c b/test/core/end2end/tests/compressed_payload.c
index 34947fbe9d8cdafbf6828e0dd77b55d6844ede91..ec5c012238eaf76ff7e872710c2d9255a05f6f6c 100644
--- a/test/core/end2end/tests/compressed_payload.c
+++ b/test/core/end2end/tests/compressed_payload.c
@@ -379,7 +379,7 @@ static void request_with_payload_template(
   op->data.send_initial_metadata.count = 0;
   if (set_server_level) {
     op->data.send_initial_metadata.maybe_compression_level.is_set = true;
-    op->data.send_initial_metadata.maybe_compression_level.compression_level =
+    op->data.send_initial_metadata.maybe_compression_level.level =
         server_compression_level;
   }
   op->flags = 0;