diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js
index f909cad3f8bd..c4ea8e96143c 100644
--- a/packages/kit/src/exports/vite/index.js
+++ b/packages/kit/src/exports/vite/index.js
@@ -1475,6 +1475,7 @@ async function kit({ svelte_config }) {
);
} else {
copy(server_assets, client_assets);
+ copy(kit.files.assets, `${out}/client`);
}
// ...and prerender
diff --git a/packages/kit/test/apps/amp/src/routes/assets/+page.svelte b/packages/kit/test/apps/amp/src/routes/assets/+page.svelte
index 24ebdf7d6595..de9a86eb3e24 100644
--- a/packages/kit/test/apps/amp/src/routes/assets/+page.svelte
+++ b/packages/kit/test/apps/amp/src/routes/assets/+page.svelte
@@ -3,3 +3,6 @@
+
+
+includes public assets
diff --git a/packages/kit/test/apps/amp/static/asset.json b/packages/kit/test/apps/amp/static/asset.json
new file mode 100644
index 000000000000..7bb05ab0f1d0
--- /dev/null
+++ b/packages/kit/test/apps/amp/static/asset.json
@@ -0,0 +1,3 @@
+{
+ "bar": "foo"
+}
diff --git a/packages/kit/test/apps/amp/test/test.js b/packages/kit/test/apps/amp/test/test.js
index 680397575c10..06e0b8977c8f 100644
--- a/packages/kit/test/apps/amp/test/test.js
+++ b/packages/kit/test/apps/amp/test/test.js
@@ -83,6 +83,9 @@ test('skips client build if every node has CSR disabled', async ({ page, request
const src = await page.locator('img').getAttribute('src');
if (!src) throw new Error('Image src not found on /assets page');
- const response = await request.get(src);
- expect(response.status()).toBe(200);
+ const img_response = await request.get(src);
+ expect(img_response.status()).toBe(200);
+
+ const public_asset_response = await request.get('/asset.json');
+ expect(public_asset_response.status()).toBe(200);
});