diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 895a8a3b060b3b93211bb252e03cc7d605a2e8b8..9342c5f8e95a30eb5d88b3e98ce81aafde782a99 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -625,7 +625,7 @@ static bool get_final_status_from(
     void (*set_value)(grpc_status_code code, void *user_data),
     void *set_value_user_data, grpc_slice *details) {
   grpc_status_code code;
-  grpc_slice slice;
+  grpc_slice slice = grpc_empty_slice();
   grpc_error_get_status(error, call->send_deadline, &code, &slice, NULL);
   if (code == GRPC_STATUS_OK && !allow_ok_status) {
     return false;