diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc
index c4794d717d002ff2caf38fb47f6ef4ef1a376097..95b7aabc1d698165465b59267269d85535ee3aa2 100644
--- a/src/cpp/client/channel.cc
+++ b/src/cpp/client/channel.cc
@@ -84,7 +84,7 @@ Call Channel::CreateCall(const RpcMethod &method, ClientContext *context,
       grpc_channel_create_call(
           c_channel_, cq->cq(), method.name(),
           context->authority().empty() ?  target_.c_str()
-                                       : context->authority(),
+                                       : context->authority().c_str(),
           context->RawDeadline());
   context->set_call(c_call);
   return Call(c_call, this, cq);