diff --git a/spec/dependencies_test.js b/spec/dependencies_test.js
index 3978ba177eef87e6b2659e6d50821a862363a636..f89e4ebc5111a3f05b4fa18b43f1891386a3e3fd 100644
--- a/spec/dependencies_test.js
+++ b/spec/dependencies_test.js
@@ -80,6 +80,9 @@ describe('Vite manifest parsing', () => {
           '../io.ox/guidedtours/i18n',
           'io.ox/guidedtours/main.js'
         ],
+        css: [
+          'io.ox/guidedtours/assets/multifactor.91962241.css'
+        ],
         meta: {}
       },
       'io.ox/guidedtours/utils.js': {
@@ -93,10 +96,21 @@ describe('Vite manifest parsing', () => {
       },
       '_preload-helper-a7bbbf37.js': {
         file: 'io.ox/guidedtours/preload-helper-a7bbbf37.js'
+      },
+      'themes/icons/alarm.svg': {
+        file: 'assets/alarm.6d2fbb40.js',
+        src: 'themes/icons/alarm.svg',
+        isDynamicEntry: true,
+        assets: [
+          'assets/alarm.310541a0.svg'
+        ],
+        meta: {}
       }
     })
     expect(typeof deps).toBe('object')
-    expect(Object.keys(deps).length).toBe(7)
-    expect(deps['io.ox/guidedtours/main.07676e21.js']).toEqual(['_preload-helper-a7bbbf37.js', '../io.ox/guidedtours/i18n'])
+    expect(Object.keys(deps).length).toBe(8)
+    expect(deps['io.ox/guidedtours/main.07676e21.js']).toEqual(['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js'])
+    expect(deps['io.ox/guidedtours/multifactor.22d3e17d.js']).toEqual(['io.ox/guidedtours/preload-helper-a7bbbf37.js', 'io.ox/guidedtours/i18n.3de05d46.js', 'io.ox/guidedtours/main.07676e21.js', 'io.ox/guidedtours/assets/multifactor.91962241.css'])
+    expect(deps['assets/alarm.6d2fbb40.js']).toEqual(['assets/alarm.310541a0.svg'])
   })
 })
diff --git a/src/manifests.js b/src/manifests.js
index 5a3f3acaa105053f4fdc8c64a02774628a5af999..656416005cbda19d19f881c96f5ad4c774abdb68 100644
--- a/src/manifests.js
+++ b/src/manifests.js
@@ -69,8 +69,12 @@ export const getOxManifests = (() => {
 
 export function viteManifestToDeps (viteManifest) {
   const deps = {}
-  for (const { file, imports, css } of Object.values(viteManifest)) {
-    deps[file] = [].concat(imports).concat(css).filter(Boolean)
+  for (const { file, imports, css, assets } of Object.values(viteManifest)) {
+    deps[file] = []
+      .concat(imports?.map(path => viteManifest[path].file))
+      .concat(css)
+      .concat(assets)
+      .filter(Boolean)
   }
   return deps
 }