diff --git a/quic/core/qpack/qpack_send_stream.cc b/quic/core/qpack/qpack_send_stream.cc
index fe25f26..b978985 100644
--- a/quic/core/qpack/qpack_send_stream.cc
+++ b/quic/core/qpack/qpack_send_stream.cc
@@ -25,6 +25,11 @@
 
 void QpackSendStream::WriteStreamData(QuicStringPiece data) {
   QuicConnection::ScopedPacketFlusher flusher(session()->connection());
+  SendStreamType();
+  WriteOrBufferData(data, false, nullptr);
+}
+
+void QpackSendStream::SendStreamType() {
   if (!stream_type_sent_) {
     char type[sizeof(http3_stream_type_)];
     QuicDataWriter writer(QUIC_ARRAYSIZE(type), type);
@@ -33,16 +38,6 @@
                       nullptr);
     stream_type_sent_ = true;
   }
-  WriteOrBufferData(data, false, nullptr);
-}
-
-void QpackSendStream::SendStreamType() {
-  char type[sizeof(http3_stream_type_)];
-  QuicDataWriter writer(QUIC_ARRAYSIZE(type), type);
-  writer.WriteVarInt62(http3_stream_type_);
-  WriteOrBufferData(QuicStringPiece(writer.data(), writer.length()), false,
-                    nullptr);
-  stream_type_sent_ = true;
 }
 
 }  // namespace quic
diff --git a/quic/core/qpack/qpack_send_stream_test.cc b/quic/core/qpack/qpack_send_stream_test.cc
index 9eb6471..5f82024 100644
--- a/quic/core/qpack/qpack_send_stream_test.cc
+++ b/quic/core/qpack/qpack_send_stream_test.cc
@@ -95,6 +95,8 @@
 
   EXPECT_CALL(session_, WritevData(_, _, data.length(), _, _));
   qpack_send_stream_->WriteStreamData(QuicStringPiece(data));
+  EXPECT_CALL(session_, WritevData(_, _, _, _, _)).Times(0);
+  qpack_send_stream_->SendStreamType();
 }
 
 TEST_P(QpackSendStreamTest, ResetQpackStream) {
