diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc
index 5a39a3b801a2be0be07249715e0b2b6610553716..7a9ba477f0e6d4bb1221de48b318b0eb4c7dd697 100644
--- a/src/cpp/client/channel.cc
+++ b/src/cpp/client/channel.cc
@@ -61,7 +61,12 @@ Channel::~Channel() { grpc_channel_destroy(c_channel_); }
 
 Call Channel::CreateCall(const RpcMethod& method, ClientContext* context,
                          CompletionQueue* cq) {
-  auto c_call = grpc_channel_create_call(c_channel_, cq->cq(), method.name(),
+  auto c_call = method.channel_tag()?
+    grpc_channel_create_registered_call(
+    c_channel_, cq->cq(),
+    method.channel_tag(), context->RawDeadline()) :
+
+   grpc_channel_create_call(c_channel_, cq->cq(), method.name(),
                                          context->authority().empty()
                                              ? target_.c_str()
                                              : context->authority().c_str(),