diff --git a/quiche/quic/masque/masque_connection_pool.cc b/quiche/quic/masque/masque_connection_pool.cc
index 4818af8..666e95f 100644
--- a/quiche/quic/masque/masque_connection_pool.cc
+++ b/quiche/quic/masque/masque_connection_pool.cc
@@ -295,6 +295,7 @@
       Message response;
       response.headers = headers.Clone();
       response.body = body;
+      response.draining = connection->draining();
       if (end_stream) {
         pending_request.response_done = true;
       }
diff --git a/quiche/quic/masque/masque_connection_pool.h b/quiche/quic/masque/masque_connection_pool.h
index 24faf65..a169890 100644
--- a/quiche/quic/masque/masque_connection_pool.h
+++ b/quiche/quic/masque/masque_connection_pool.h
@@ -32,6 +32,7 @@
   struct Message {
     quiche::HttpHeaderBlock headers;
     std::string body;
+    bool draining = false;  // Sent on responses received after low GOAWAY.
   };
 
   // Returns the HTTP status code from the message, or 0 if not available.
diff --git a/quiche/quic/masque/masque_h2_connection.cc b/quiche/quic/masque/masque_h2_connection.cc
index 8413215..e0cdb39 100644
--- a/quiche/quic/masque/masque_h2_connection.cc
+++ b/quiche/quic/masque/masque_h2_connection.cc
@@ -384,6 +384,9 @@
                      body.size(), ", headers: ", headers.DebugString())));
     return -1;
   }
+  if (stream_id > highest_stream_id_) {
+    highest_stream_id_ = stream_id;
+  }
   QUICHE_LOG(INFO) << ENDPOINT << "Sending request on stream ID " << stream_id
                    << " with body of length " << body.size()
                    << ", headers: " << headers.DebugString();
@@ -556,6 +559,9 @@
                    << last_accepted_stream_id
                    << " error_code: " << Http2ErrorCodeToString(error_code)
                    << " opaque_data length: " << opaque_data.size();
+  if (last_accepted_stream_id <= highest_stream_id_) {
+    draining_ = true;
+  }
   for (auto it = h2_streams_.begin(); it != h2_streams_.end();) {
     if (it->first > last_accepted_stream_id) {
       if (!it->second->callback_fired) {
diff --git a/quiche/quic/masque/masque_h2_connection.h b/quiche/quic/masque/masque_h2_connection.h
index 1a93e0b..8d01bec 100644
--- a/quiche/quic/masque/masque_h2_connection.h
+++ b/quiche/quic/masque/masque_h2_connection.h
@@ -66,6 +66,7 @@
   ~MasqueH2Connection();
 
   bool aborted() const { return !error_.ok() || has_closed_gracefully_; }
+  bool draining() const { return draining_; }
   // Call when there is more data to be read from SSL.
   void OnTransportReadable();
   // Call when there is more data to be written to SSL.
@@ -163,6 +164,8 @@
       h2_streams_;
   Visitor* visitor_;
   std::string tls_write_buffer_;
+  Http2StreamId highest_stream_id_ = 0;
+  bool draining_ = false;
 };
 
 // Formats an SSL error that was provided by BoringSSL.
