diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 7196df1..8892b9c 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -7185,7 +7185,6 @@
   EXPECT_TRUE(client_connection->set_ecn_codepoint(ECN_ECT0));
   client_->SendSynchronousRequest("/foo");
   if (!GetQuicRestartFlag(quic_receive_ecn) ||
-      !GetQuicRestartFlag(quic_quiche_ecn_sockets) ||
       !VersionHasIetfQuicFrames(version_.transport_version)) {
     EXPECT_EQ(ecn->ect0, 0);
   } else {
@@ -7211,7 +7210,6 @@
   EXPECT_TRUE(client_connection->set_ecn_codepoint(ECN_ECT1));
   client_->SendSynchronousRequest("/foo");
   if (!GetQuicRestartFlag(quic_receive_ecn) ||
-      !GetQuicRestartFlag(quic_quiche_ecn_sockets) ||
       !VersionHasIetfQuicFrames(version_.transport_version)) {
     EXPECT_EQ(ecn->ect1, 0);
   } else {
@@ -7237,7 +7235,6 @@
   EXPECT_TRUE(client_connection->set_ecn_codepoint(ECN_CE));
   client_->SendSynchronousRequest("/foo");
   if (!GetQuicRestartFlag(quic_receive_ecn) ||
-      !GetQuicRestartFlag(quic_quiche_ecn_sockets) ||
       !VersionHasIetfQuicFrames(version_.transport_version)) {
     EXPECT_EQ(ecn->ce, 0);
   } else {
@@ -7267,7 +7264,6 @@
   EXPECT_EQ(ecn->ect0, 0);
   EXPECT_EQ(ecn->ce, 0);
   if (!GetQuicRestartFlag(quic_receive_ecn) ||
-      !GetQuicRestartFlag(quic_quiche_ecn_sockets) ||
       !VersionHasIetfQuicFrames(version_.transport_version)) {
     EXPECT_EQ(ecn->ect1, 0);
   } else {
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 0747a59..65c7b55 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -81,8 +81,6 @@
 QUIC_FLAG(quic_restart_flag_quic_platform_tos_sockopt, false)
 // When true, defaults to BBR congestion control instead of Cubic.
 QUIC_FLAG(quic_reloadable_flag_quic_default_to_bbr, false)
-// When true, quiche UDP sockets report Explicit Congestion Notification (ECN) [RFC3168, RFC9330] results.
-QUIC_FLAG(quic_restart_flag_quic_quiche_ecn_sockets, true)
 // When true, report received ECN markings to the peer.
 QUIC_FLAG(quic_restart_flag_quic_receive_ecn, true)
 // When true, sends QUIC packets marked ECT(1).
diff --git a/quiche/quic/core/quic_udp_socket_posix.inc b/quiche/quic/core/quic_udp_socket_posix.inc
index 4d371db..169119f 100644
--- a/quiche/quic/core/quic_udp_socket_posix.inc
+++ b/quiche/quic/core/quic_udp_socket_posix.inc
@@ -200,21 +200,18 @@
     return false;
   }
 
-  if (GetQuicRestartFlag(quic_quiche_ecn_sockets)) {
-    QUIC_RESTART_FLAG_COUNT(quic_quiche_ecn_sockets);
-    unsigned int set = 1;
-    if (address_family == AF_INET &&
-        setsockopt(fd, IPPROTO_IP, IP_RECVTOS, &set, sizeof(set)) != 0) {
-      QUIC_LOG_FIRST_N(ERROR, 100) << "Failed to request to receive ECN on "
-                                   << "socket";
-      return false;
-    }
-    if (address_family == AF_INET6 &&
-        setsockopt(fd, IPPROTO_IPV6, IPV6_RECVTCLASS, &set, sizeof(set)) != 0) {
-      QUIC_LOG_FIRST_N(ERROR, 100) << "Failed to request to receive ECN on "
-                                   << "socket";
-      return false;
-    }
+  unsigned int set = 1;
+  if (address_family == AF_INET &&
+      setsockopt(fd, IPPROTO_IP, IP_RECVTOS, &set, sizeof(set)) != 0) {
+    QUIC_LOG_FIRST_N(ERROR, 100) << "Failed to request to receive ECN on "
+                                 << "socket";
+    return false;
+  }
+  if (address_family == AF_INET6 &&
+      setsockopt(fd, IPPROTO_IPV6, IPV6_RECVTCLASS, &set, sizeof(set)) != 0) {
+    QUIC_LOG_FIRST_N(ERROR, 100) << "Failed to request to receive ECN on "
+                                 << "socket";
+    return false;
   }
 
   if (!(address_family == AF_INET6 && ipv6_only)) {
