diff --git a/test/cpp/end2end/crash_test.cc b/test/cpp/end2end/crash_test.cc
index 10f4944b5476d36440724bede3c8ecdfc9b35a2f..628b3e254381af76bf68dc387fa6a0d93dd51b16 100644
--- a/test/cpp/end2end/crash_test.cc
+++ b/test/cpp/end2end/crash_test.cc
@@ -76,10 +76,12 @@ class CrashTest : public ::testing::Test {
   std::unique_ptr<grpc::cpp::test::util::TestService::Stub>
   CreateServerAndStub() {
     auto port = grpc_pick_unused_port_or_die();
-    auto addr = (std::ostringstream() << "localhost:" << port).str();
+    std::ostringstream addr_stream;
+    addr_stream << "localhost:" << port;
+    auto addr = addr_stream.str();
     server_.reset(new SubProcess({
-        (std::ostringstream() << g_root << "/crash_test_server").str(),
-        (std::ostringstream() << "--address=" << addr).str(),
+      g_root + "/crash_test_server",
+      "--address=" + addr,
     }));
     GPR_ASSERT(server_);
     return grpc::cpp::test::util::TestService::NewStub(