diff --git a/spdy/core/spdy_header_block.h b/spdy/core/spdy_header_block.h
index 76ec436..3639128 100644
--- a/spdy/core/spdy_header_block.h
+++ b/spdy/core/spdy_header_block.h
@@ -94,8 +94,8 @@
 
   typedef SpdyLinkedHashMap<absl::string_view,
                             HeaderValue,
-                            SpdyStringPieceCaseHash,
-                            SpdyStringPieceCaseEq>
+                            StringPieceCaseHash,
+                            StringPieceCaseEqual>
       MapType;
 
  public:
diff --git a/spdy/platform/api/spdy_string_utils.h b/spdy/platform/api/spdy_string_utils.h
index 81a0866..7e755d8 100644
--- a/spdy/platform/api/spdy_string_utils.h
+++ b/spdy/platform/api/spdy_string_utils.h
@@ -48,10 +48,6 @@
   return SpdyHexDumpImpl(data);
 }
 
-using SpdyStringPieceCaseHash = SpdyStringPieceCaseHashImpl;
-
-using SpdyStringPieceCaseEq = SpdyStringPieceCaseEqImpl;
-
 }  // namespace spdy
 
 #endif  // QUICHE_SPDY_PLATFORM_API_SPDY_STRING_UTILS_H_
diff --git a/spdy/platform/api/spdy_string_utils_test.cc b/spdy/platform/api/spdy_string_utils_test.cc
index 2964876..5866a1e 100644
--- a/spdy/platform/api/spdy_string_utils_test.cc
+++ b/spdy/platform/api/spdy_string_utils_test.cc
@@ -180,28 +180,6 @@
   EXPECT_EQ("10000001", SpdyHexEncodeUInt32AndTrim(0x10000001));
 }
 
-TEST(SpdyStringUtilsTest, SpdyStringPieceCaseHash) {
-  SpdyStringPieceCaseHash hasher;
-  auto mixed = hasher("To Be Or Not To Be, That is The Question");
-  auto lower = hasher("to be or not to be, that is the question");
-  EXPECT_EQ(mixed, lower);
-  auto lower2 = hasher("to be or not to be, that is the question");
-  EXPECT_EQ(lower, lower2);
-  auto different = hasher("to see or not to see, that is the question");
-  EXPECT_NE(lower, different);
-  EXPECT_NE(lower, hasher(""));
-}
-
-TEST(SpdyStringUtilsTest, SpdyStringPieceCaseEq) {
-  SpdyStringPieceCaseEq eq;
-  EXPECT_TRUE(eq("To Be Or Not To Be, That is The Question",
-                 "to be or not to be, that is the question"));
-  EXPECT_TRUE(eq("to be or not to be, that is the question",
-                 "to be or not to be, that is the question"));
-  EXPECT_FALSE(eq("to be or not to be, that is the question",
-                  "to see or not to see, that is the question"));
-}
-
 }  // namespace
 }  // namespace test
 }  // namespace spdy
