diff --git a/src/Servers/Kestrel/Kestrel.slnf b/src/Servers/Kestrel/Kestrel.slnf
index 5841f4e4451f6a28e90a61acfeabac464553ec7f..a973803211478191a65405bc6f5223a010a4c073 100644
--- a/src/Servers/Kestrel/Kestrel.slnf
+++ b/src/Servers/Kestrel/Kestrel.slnf
@@ -26,6 +26,7 @@
       "src\\Middleware\\Diagnostics\\src\\Microsoft.AspNetCore.Diagnostics.csproj",
       "src\\Middleware\\HostFiltering\\src\\Microsoft.AspNetCore.HostFiltering.csproj",
       "src\\Middleware\\HttpOverrides\\src\\Microsoft.AspNetCore.HttpOverrides.csproj",
+      "src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj",
       "src\\ObjectPool\\src\\Microsoft.Extensions.ObjectPool.csproj",
       "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
       "src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
diff --git a/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs b/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
index 9a95793a59deb64c250c7ae93ddbc0df78c186a5..5f0a7d31e1abf4521f2f01b611312c5ce290918f 100644
--- a/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
+++ b/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicStreamContext.cs
@@ -465,7 +465,7 @@ internal partial class QuicStreamContext : TransportConnection, IPooledStream, I
         }
         finally
         {
-            ShutdownWrite(_shutdownWriteReason ?? _shutdownReason ?? shutdownReason);
+            ShutdownWrite(shutdownReason);
 
             await waitForWritesClosedTask;
 
@@ -525,10 +525,14 @@ internal partial class QuicStreamContext : TransportConnection, IPooledStream, I
         {
             lock (_shutdownLock)
             {
-                _shutdownReason = shutdownReason ?? SendGracefullyCompletedException;
+                _shutdownReason = _shutdownWriteReason ?? _shutdownReason ?? shutdownReason ?? SendGracefullyCompletedException;
                 QuicLog.StreamShutdownWrite(_log, this, _shutdownReason.Message);
 
-                _stream.CompleteWrites();
+                // Only complete writes for a graceful shutdown.
+                if (_shutdownReason == SendGracefullyCompletedException)
+                {
+                    _stream.CompleteWrites();
+                }
             }
         }
         catch (Exception ex)