diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index e7719298701c32a3c784e4662a43f09824eb8f2d..3b129039bbf3a84b5333ffcc8ce15821ed05a7a1 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -1083,6 +1083,7 @@ static void begin_call(grpc_server *server, call_data *calld,
             &rc->data.batch.details->host_capacity, calld->host);
       cpstr(&rc->data.batch.details->method,
             &rc->data.batch.details->method_capacity, calld->path);
+      rc->data.batch.details->deadline = calld->deadline;
       grpc_call_set_completion_queue(calld->call, rc->data.batch.cq_bind);
       *rc->data.batch.call = calld->call;
       r->op = GRPC_IOREQ_RECV_INITIAL_METADATA;