diff --git a/quic/masque/masque_utils.cc b/quic/masque/masque_utils.cc
index 17dec0d..cd19602 100644
--- a/quic/masque/masque_utils.cc
+++ b/quic/masque/masque_utils.cc
@@ -8,17 +8,16 @@
 
 ParsedQuicVersionVector MasqueSupportedVersions() {
   QuicVersionInitializeSupportForIetfDraft();
-  ParsedQuicVersion version = UnsupportedQuicVersion();
-  for (const ParsedQuicVersion& vers : AllSupportedVersions()) {
-    // Find the first version that supports IETF QUIC.
-    if (vers.HasIetfQuicFrames() && vers.UsesTls()) {
-      version = vers;
-      break;
+  ParsedQuicVersionVector versions;
+  for (const ParsedQuicVersion& version : AllSupportedVersions()) {
+    // Use all versions that support IETF QUIC.
+    if (version.UsesHttp3()) {
+      QuicEnableVersion(version);
+      versions.push_back(version);
     }
   }
-  QUICHE_CHECK(version.IsKnown());
-  QuicEnableVersion(version);
-  return {version};
+  QUICHE_CHECK(!versions.empty());
+  return versions;
 }
 
 QuicConfig MasqueEncapsulatedConfig() {
