diff --git a/include/istream b/include/istream
index d6217bb..bfbe5f2 100644
--- a/include/istream
+++ b/include/istream
@@ -1619,7 +1619,7 @@
                  __is.rdbuf()->sbumpc();
             }
             __x = bitset<_Size>(__str);
-            if (__c == 0)
+            if (_Size > 0 && __c == 0)
                __state |= ios_base::failbit;
 #ifndef _LIBCPP_NO_EXCEPTIONS
         }
diff --git a/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp b/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp
index 1cb92ea..0127b75 100644
--- a/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp
+++ b/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp
@@ -25,6 +25,18 @@
         in >> b;
         assert(b.to_ulong() == 0x5A);
     }
+    {
+        // Make sure that input-streaming an empty bitset does not cause the
+        // failbit to be set (LWG 3199).
+        std::istringstream in("01011010");
+        std::bitset<0> b;
+        in >> b;
+        assert(b.to_string() == "");
+        assert(!in.bad());
+        assert(!in.fail());
+        assert(!in.eof());
+        assert(in.good());
+    }
 #ifndef TEST_HAS_NO_EXCEPTIONS
     {
         std::stringbuf sb;
diff --git a/www/upcoming_meeting.html b/www/upcoming_meeting.html
index 4989f5a..29b5174 100644
--- a/www/upcoming_meeting.html
+++ b/www/upcoming_meeting.html
@@ -71,7 +71,7 @@
 <tr><td><a href="https://wg21.link/LWG3191">3191</a></td><td>Yes</td><td><tt>std::ranges::shuffle</tt> synopsis does not match algorithm definition</td><td>Cologne</td><td></td></tr>
 <tr><td><a href="https://wg21.link/LWG3196">3196</a></td><td>Yes</td><td><tt>std::optional&lt;T&gt;</tt> is ill-formed is <tt>T</tt> is an array</td><td>Cologne</td><td>Complete</td></tr>
 <tr><td><a href="https://wg21.link/LWG3198">3198</a></td><td>Yes</td><td>Bad constraint on <tt>std::span::span()</tt></td><td>Cologne</td><td>Complete</td></tr>
-<tr><td><a href="https://wg21.link/LWG3199">3199</a></td><td>Yes</td><td><tt>istream &gt;&gt; bitset&lt;0&gt;</tt> fails</td><td>Cologne</td><td></td></tr>
+<tr><td><a href="https://wg21.link/LWG3199">3199</a></td><td>Yes</td><td><tt>istream &gt;&gt; bitset&lt;0&gt;</tt> fails</td><td>Cologne</td><td>Complete</td></tr>
 <tr><td><a href="https://wg21.link/LWG3202">3202</a></td><td>Yes</td><td>P0318R1 was supposed to be revised</td><td>Cologne</td><td>Complete</td></tr>
 <tr><td><a href="https://wg21.link/LWG3206">3206</a></td><td>Yes</td><td><tt>year_month_day</tt> conversion to <tt>sys_days</tt> uses not-existing member function</td><td>Cologne</td><td>Complete</td></tr>
 <tr><td><a href="https://wg21.link/LWG3208">3208</a></td><td>Yes</td><td><tt>Boolean</tt>'s expression requirements are ordered inconsistently</td><td>Cologne</td><td>Nothing to do</td></tr>
@@ -105,7 +105,6 @@
 <li>3191 - We don't do ranges yet</li>
 <li>3196 - We already do this</li>
 <li>3198 - We already do this</li>
-<li>3199 - Louis</li>
 <li>3202 - We already do this</li>
 <li>3206 - We already do this; added a couple of explicit tests</li>
 <li>3208 - Nothing to do; wording cleanup</li>
