diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 132139e..63bb1f1 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -4589,26 +4589,17 @@
   SendSynchronousRequestAndCheckResponse("/blocked", response_body);
   client_->Disconnect();
 
-  bool include_offset_flag =
-      GetQuicReloadableFlag(quic_include_offset_in_blocked_frames);
-  QuicStreamOffset expected_connection_offset =
-      include_offset_flag
-          ? client_config_.GetInitialSessionFlowControlWindowToSend()
-          : 0;
-  QuicStreamOffset expected_stream_offset =
-      include_offset_flag
-          ? client_config_.GetInitialStreamFlowControlWindowToSend()
-          : 0;
-
   ASSERT_GE(observer.blocked_frames().size(), static_cast<uint64_t>(0));
   for (const QuicBlockedFrame& frame : observer.blocked_frames()) {
     if (frame.stream_id ==
         QuicUtils::GetInvalidStreamId(version_.transport_version)) {
       // connection-level BLOCKED frame
-      ASSERT_EQ(frame.offset, expected_connection_offset);
+      ASSERT_EQ(frame.offset,
+                client_config_.GetInitialSessionFlowControlWindowToSend());
     } else {
       // stream-level BLOCKED frame
-      ASSERT_EQ(frame.offset, expected_stream_offset);
+      ASSERT_EQ(frame.offset,
+                client_config_.GetInitialStreamFlowControlWindowToSend());
     }
   }
 
diff --git a/quiche/quic/core/quic_control_frame_manager.cc b/quiche/quic/core/quic_control_frame_manager.cc
index 1553cc8..cc231b1 100644
--- a/quiche/quic/core/quic_control_frame_manager.cc
+++ b/quiche/quic/core/quic_control_frame_manager.cc
@@ -85,14 +85,8 @@
 void QuicControlFrameManager::WriteOrBufferBlocked(
     QuicStreamId id, QuicStreamOffset byte_offset) {
   QUIC_DVLOG(1) << "Writing BLOCKED_FRAME";
-  if (GetQuicReloadableFlag(quic_include_offset_in_blocked_frames)) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_include_offset_in_blocked_frames);
-    WriteOrBufferQuicFrame(
-        QuicFrame(QuicBlockedFrame(++last_control_frame_id_, id, byte_offset)));
-  } else {
-    WriteOrBufferQuicFrame(
-        QuicFrame(QuicBlockedFrame(++last_control_frame_id_, id, 0)));
-  }
+  WriteOrBufferQuicFrame(
+      QuicFrame(QuicBlockedFrame(++last_control_frame_id_, id, byte_offset)));
 }
 
 void QuicControlFrameManager::WriteOrBufferStreamsBlocked(QuicStreamCount count,
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 60b709b..d2d4e62 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -73,8 +73,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_remove_connection_migration_connection_option_v2, false)
 // If true, if a fatal tls alert is raised while extracting CHLO, QuicDispatcher will send a connection close.
 QUIC_FLAG(quic_restart_flag_quic_dispatcher_send_connection_close_for_tls_alerts, true)
-// If true, include offset in QUIC STREAM_DATA_BLOCKED and DATA_BLOCKED frames.
-QUIC_FLAG(quic_reloadable_flag_quic_include_offset_in_blocked_frames, true)
 // If true, include stream information in idle timeout connection close detail.
 QUIC_FLAG(quic_reloadable_flag_quic_add_stream_info_to_idle_close_detail, true)
 // If true, quic server will send ENABLE_CONNECT_PROTOCOL setting and and endpoint will validate required request/response headers and extended CONNECT mechanism and update code counts of valid/invalid headers.
