diff --git a/test/cpp/interop/interop_server.cc b/test/cpp/interop/interop_server.cc
index 77e309dde490d6d707159b6ab97e6b9323459907..5a810b45ef4f132c3694c0a53c68ddfec669ed27 100644
--- a/test/cpp/interop/interop_server.cc
+++ b/test/cpp/interop/interop_server.cc
@@ -106,7 +106,9 @@ void MaybeEchoMetadata(ServerContext* context) {
   if (iter != client_metadata.end()) {
     iter = client_metadata.find("user-agent");
     if (iter != client_metadata.end()) {
-      context->AddInitialMetadata(kEchoUserAgentKey, iter->second.data());
+      context->AddInitialMetadata(
+          kEchoUserAgentKey,
+          grpc::string(iter->second.begin(), iter->second.end()));
     }
   }
 }