diff --git a/src/server/RenderHtml.ts b/src/server/RenderHtml.ts
index 85d90c5e4..675e62a36 100644
--- a/src/server/RenderHtml.ts
+++ b/src/server/RenderHtml.ts
@@ -7,7 +7,7 @@ import { getRuntimeAssetManifest } from "./RuntimeAssetManifest";
import { ServerEnv } from "./ServerEnv";
const APP_SHELL_CACHE_CONTROL =
- "public, max-age=0, s-maxage=300, stale-while-revalidate=86400";
+ "public, max-age=0, s-maxage=300, stale-while-revalidate=86400, stale-if-error=86400";
const appShellContentCache = new Map>();
diff --git a/tests/server/RenderHtml.test.ts b/tests/server/RenderHtml.test.ts
index 022b93365..ebb27c475 100644
--- a/tests/server/RenderHtml.test.ts
+++ b/tests/server/RenderHtml.test.ts
@@ -60,7 +60,7 @@ describe("RenderHtml", () => {
setAppShellCacheHeaders(response);
expect(headers.get("Cache-Control")).toBe(
- "public, max-age=0, s-maxage=300, stale-while-revalidate=86400",
+ "public, max-age=0, s-maxage=300, stale-while-revalidate=86400, stale-if-error=86400",
);
expect(headers.get("Content-Type")).toBe("text/html");
});