diff --git a/quiche/balsa/balsa_frame.cc b/quiche/balsa/balsa_frame.cc
index 6eb467e..35f8ac9 100644
--- a/quiche/balsa/balsa_frame.cc
+++ b/quiche/balsa/balsa_frame.cc
@@ -94,6 +94,8 @@
     trailers_->Clear();
   }
   is_valid_target_uri_ = true;
+  in_quote_ = false;
+  is_escaped_ = false;
 }
 
 namespace {
@@ -1267,6 +1269,8 @@
 
         --current;
         parse_state_ = BalsaFrameEnums::READING_CHUNK_EXTENSION;
+        in_quote_ = false;
+        is_escaped_ = false;
         last_char_was_slash_r_ = false;
         visitor_->OnChunkLength(chunk_length_remaining_);
         continue;
@@ -1286,6 +1290,19 @@
             return current - input;
           }
           const char c = *current;
+
+          if (is_escaped_) {
+            // Previous char was a backslash and it's parsing quoted section.
+            is_escaped_ = false;
+          } else {
+            // Not escaped, so check for backslash and quotes.
+            if (c == '\\' && in_quote_) {
+              is_escaped_ = true;
+            } else if (c == '"') {
+              in_quote_ = !in_quote_;
+            }
+          }
+
           if (c == ';') {
             found_semicolon = true;
           }
diff --git a/quiche/balsa/balsa_frame.h b/quiche/balsa/balsa_frame.h
index c0338c5..d71411c 100644
--- a/quiche/balsa/balsa_frame.h
+++ b/quiche/balsa/balsa_frame.h
@@ -30,7 +30,7 @@
 // BalsaFrame is a lightweight HTTP framer.
 class QUICHE_EXPORT BalsaFrame : public FramerInterface {
  public:
-  typedef std::vector<std::pair<size_t, size_t> > Lines;
+  typedef std::vector<std::pair<size_t, size_t>> Lines;
 
   typedef BalsaHeaders::HeaderLineDescription HeaderLineDescription;
   typedef BalsaHeaders::HeaderLines HeaderLines;
@@ -65,7 +65,9 @@
         request_was_head_(false),
         is_valid_target_uri_(true),
         use_interim_headers_callback_(false),
-        parse_truncated_headers_even_when_headers_too_long_(false) {}
+        parse_truncated_headers_even_when_headers_too_long_(false),
+        in_quote_(false),
+        is_escaped_(false) {}
 
   ~BalsaFrame() override {}
 
@@ -316,6 +318,10 @@
 
   // This is not reset in Reset().
   bool parse_truncated_headers_even_when_headers_too_long_ : 1;
+
+  // Specific to parsing of chunk extensions.
+  bool in_quote_ : 1;
+  bool is_escaped_ : 1;
 };
 
 }  // namespace quiche
