diff --git a/quiche/oblivious_http/oblivious_http_client.cc b/quiche/oblivious_http/oblivious_http_client.cc
index 5bbf74c..4379096 100644
--- a/quiche/oblivious_http/oblivious_http_client.cc
+++ b/quiche/oblivious_http/oblivious_http_client.cc
@@ -27,7 +27,7 @@
   bssl::UniquePtr<EVP_HPKE_CTX> client_ctx(EVP_HPKE_CTX_new());
   if (client_ctx == nullptr) {
     return SslErrorAsStatus(
-        "Failed to initialize HPKE ObliviousHttpClientSender Context.");
+        "Failed to initialize HPKE ObliviousHttpClient Context.");
   }
   // Setup the sender (client)
   std::string encapsulated_key(EVP_HPKE_MAX_ENC_LENGTH, '\0');
diff --git a/quiche/oblivious_http/oblivious_http_client_test.cc b/quiche/oblivious_http/oblivious_http_client_test.cc
index 0382b05..663f4d5 100644
--- a/quiche/oblivious_http/oblivious_http_client_test.cc
+++ b/quiche/oblivious_http/oblivious_http_client_test.cc
@@ -184,7 +184,7 @@
   EXPECT_EQ(decapsulate_resp_on_client->GetPlaintextData(), "test response");
 }
 
-TEST(ObliviousHttpGatewayReceiver, TestWithMultipleThreads) {
+TEST(ObliviousHttpClient, TestWithMultipleThreads) {
   class TestQuicheThread : public QuicheThread {
    public:
     TestQuicheThread(const ObliviousHttpClient& client,
diff --git a/quiche/oblivious_http/oblivious_http_gateway.cc b/quiche/oblivious_http/oblivious_http_gateway.cc
index d8a4eb0..0c5cf6b 100644
--- a/quiche/oblivious_http/oblivious_http_gateway.cc
+++ b/quiche/oblivious_http/oblivious_http_gateway.cc
@@ -23,7 +23,7 @@
       ohttp_key_config_(ohttp_key_config),
       quiche_random_(quiche_random) {}
 
-// Initialize ObliviousHttpGatewayReceiver(Recipient/Server) context.
+// Initialize ObliviousHttpGateway(Recipient/Server) context.
 absl::StatusOr<ObliviousHttpGateway> ObliviousHttpGateway::Create(
     absl::string_view hpke_private_key,
     const ObliviousHttpHeaderKeyConfig& ohttp_key_config,
@@ -35,7 +35,7 @@
   bssl::UniquePtr<EVP_HPKE_KEY> recipient_key(EVP_HPKE_KEY_new());
   if (recipient_key == nullptr) {
     return SslErrorAsStatus(
-        "Failed to initialize ObliviousHttpGatewayReceiver/Server's Key.");
+        "Failed to initialize ObliviousHttpGateway/Server's Key.");
   }
   if (!EVP_HPKE_KEY_init(
           recipient_key.get(), ohttp_key_config.GetHpkeKem(),
