diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c
index ee8b27b0349d24d79b968a07d460731404194958..0ce26aff372980f0eba7e782f6fa9d31fea1552a 100644
--- a/src/core/ext/filters/client_channel/client_channel.c
+++ b/src/core/ext/filters/client_channel/client_channel.c
@@ -1223,7 +1223,7 @@ static void start_transport_stream_op_batch_locked_inner(
                           (call_or_error){.error = GRPC_ERROR_REF(error)});
         fail_locked(exec_ctx, calld, GRPC_ERROR_REF(error));
         grpc_transport_stream_op_batch_finish_with_failure(
-            exec_ctx, op, GRPC_ERROR_REF(error));
+            exec_ctx, op, error);
         return;  // Early out.
       }
     } else {