diff --git a/spdy/core/hpack/hpack_encoder.cc b/spdy/core/hpack/hpack_encoder.cc
index e3bf8f6..71b94a3 100644
--- a/spdy/core/hpack/hpack_encoder.cc
+++ b/spdy/core/hpack/hpack_encoder.cc
@@ -176,16 +176,9 @@
   SPDY_DVLOG(2) << "Emitting nonindexed literal: (" << representation.first
                 << ", " << representation.second << ")";
   output_stream_.AppendPrefix(kLiteralNoIndexOpcode);
-  if (GetSpdyReloadableFlag(spdy_hpack_use_indexed_name)) {
-    SPDY_CODE_COUNT(spdy_hpack_use_indexed_name);
-    const HpackEntry* name_entry =
-        header_table_.GetByName(representation.first);
-    if (enable_compression && name_entry != nullptr) {
-      output_stream_.AppendUint32(header_table_.IndexOf(name_entry));
-    } else {
-      output_stream_.AppendUint32(0);
-      EmitString(representation.first);
-    }
+  const HpackEntry* name_entry = header_table_.GetByName(representation.first);
+  if (enable_compression && name_entry != nullptr) {
+    output_stream_.AppendUint32(header_table_.IndexOf(name_entry));
   } else {
     output_stream_.AppendUint32(0);
     EmitString(representation.first);
diff --git a/spdy/core/hpack/hpack_encoder_test.cc b/spdy/core/hpack/hpack_encoder_test.cc
index 2b1efe9..f6f9f87 100644
--- a/spdy/core/hpack/hpack_encoder_test.cc
+++ b/spdy/core/hpack/hpack_encoder_test.cc
@@ -274,12 +274,8 @@
                      {"accept", "text/html, text/plain,application/xml"},
                      {"cookie", "val4"},
                      {"withnul", quiche::QuicheStringPiece("one\0two", 7)}};
-  if (GetSpdyReloadableFlag(spdy_hpack_use_indexed_name)) {
-    ExpectNonIndexedLiteralWithNameIndex(peer_.table()->GetByName(":path"),
-                                         "/home");
-  } else {
-    ExpectNonIndexedLiteral(":path", "/home");
-  }
+  ExpectNonIndexedLiteralWithNameIndex(peer_.table()->GetByName(":path"),
+                                       "/home");
   ExpectIndexedLiteral(peer_.table()->GetByName("cookie"), "val1");
   ExpectIndexedLiteral(peer_.table()->GetByName("cookie"), "val2");
   ExpectIndexedLiteral(peer_.table()->GetByName("cookie"), "val3");
@@ -566,12 +562,8 @@
 
   // Headers are indexed in the order in which they were added.
   // This entry pushes "cookie: a=bb" back to 63.
-  if (GetSpdyReloadableFlag(spdy_hpack_use_indexed_name)) {
-    ExpectNonIndexedLiteralWithNameIndex(peer_.table()->GetByName(":path"),
-                                         "/spam/eggs.html");
-  } else {
-    ExpectNonIndexedLiteral(":path", "/spam/eggs.html");
-  }
+  ExpectNonIndexedLiteralWithNameIndex(peer_.table()->GetByName(":path"),
+                                       "/spam/eggs.html");
   ExpectIndexedLiteral(peer_.table()->GetByName(":authority"),
                        "www.example.com");
   ExpectIndexedLiteral("-foo", "bar");
