diff --git a/quiche/balsa/header_properties.cc b/quiche/balsa/header_properties.cc
index 1022ed0..17115b4 100644
--- a/quiche/balsa/header_properties.cc
+++ b/quiche/balsa/header_properties.cc
@@ -139,21 +139,21 @@
 }
 
 bool IsInvalidHeaderKeyChar(uint8_t c) {
-  static const std::array<bool, 256> invalidHeaderKeyCharTable =
+  static constexpr std::array<bool, 256> invalidHeaderKeyCharTable =
       buildInvalidHeaderKeyCharLookupTable();
 
   return invalidHeaderKeyCharTable[c];
 }
 
 bool IsInvalidHeaderKeyCharAllowDoubleQuote(uint8_t c) {
-  static const std::array<bool, 256> invalidHeaderKeyCharTable =
+  static constexpr std::array<bool, 256> invalidHeaderKeyCharTable =
       buildInvalidHeaderKeyCharLookupTableAllowDoubleQuote();
 
   return invalidHeaderKeyCharTable[c];
 }
 
 bool IsInvalidHeaderChar(uint8_t c) {
-  static const std::array<bool, 256> invalidCharTable =
+  static constexpr std::array<bool, 256> invalidCharTable =
       buildInvalidCharLookupTable();
 
   return invalidCharTable[c];
@@ -169,7 +169,7 @@
 }
 
 bool HasInvalidPathChar(absl::string_view value) {
-  static const std::array<bool, 256> invalidCharTable =
+  static constexpr std::array<bool, 256> invalidCharTable =
       buildInvalidPathCharLookupTable();
   for (const char c : value) {
     if (invalidCharTable[c]) {
@@ -180,7 +180,7 @@
 }
 
 bool HasInvalidQueryChar(absl::string_view value) {
-  static const std::array<bool, 256> invalidCharTable =
+  static constexpr std::array<bool, 256> invalidCharTable =
       buildInvalidQueryCharLookupTable();
   for (const char c : value) {
     if (invalidCharTable[c]) {
