diff --git a/__tests__/server/middleware/sendHtml.spec.js b/__tests__/server/middleware/sendHtml.spec.js
index a8153e9d4..972f815a0 100644
--- a/__tests__/server/middleware/sendHtml.spec.js
+++ b/__tests__/server/middleware/sendHtml.spec.js
@@ -414,6 +414,14 @@ describe('sendHtml', () => {
expect(/ {
+ it('does not add service-worker-client.js to the document script tags', () => {
+ sendHtml(req, res);
+ expect(res.send).toHaveBeenCalledTimes(1);
+ expect(res.send.mock.calls[0][0]).not.toContain('service-worker-client.js');
+ });
+ });
+
describe('PWA config rendering', () => {
it('includes __pwa_metadata__ with disabled values', () => {
sendHtml(req, res);
diff --git a/src/server/middleware/sendHtml.js b/src/server/middleware/sendHtml.js
index 5e44048d2..b3c438dfa 100644
--- a/src/server/middleware/sendHtml.js
+++ b/src/server/middleware/sendHtml.js
@@ -43,7 +43,7 @@ function getChunkAssets(assetsByChunkName) {
return Object
.entries(assetsByChunkName)
// i18n is different per request, app needs to be the last chunk loaded
- .filter(([chunkName]) => !chunkName.startsWith('i18n/') && chunkName !== 'app')
+ .filter(([chunkName]) => !chunkName.startsWith('i18n/') && !['app', 'service-worker-client'].includes(chunkName))
.map(([, assets]) => (typeof assets === 'string' ? assets : assets[0]));
}