diff --git a/dashboard/src/components/BackupInfoDialog.vue b/dashboard/src/components/BackupInfoDialog.vue
index 4b9c54281..58eeb8c62 100644
--- a/dashboard/src/components/BackupInfoDialog.vue
+++ b/dashboard/src/components/BackupInfoDialog.vue
@@ -155,13 +155,11 @@ defineExpose({
{{ $t('backups.backupDetails.integrityInProgress') }}
-
-
+
{{ prettyLongDate(backup.lastIntegrityCheckTime) }}
-
-
+
{{ prettyLongDate(backup.lastIntegrityCheckTime) }}
{{ $t('backups.backupDetails.integrityNever') }}
@@ -188,12 +186,10 @@ defineExpose({
-
-
+
-
-
+
-
diff --git a/dashboard/src/components/SystemBackupList.vue b/dashboard/src/components/SystemBackupList.vue
index d4c2585c8..2c092f883 100644
--- a/dashboard/src/components/SystemBackupList.vue
+++ b/dashboard/src/components/SystemBackupList.vue
@@ -336,8 +336,7 @@ defineExpose({ refresh });
-
-
+
-
diff --git a/dashboard/src/components/app/Backups.vue b/dashboard/src/components/app/Backups.vue
index d39fc5ea3..b175c026f 100644
--- a/dashboard/src/components/app/Backups.vue
+++ b/dashboard/src/components/app/Backups.vue
@@ -442,8 +442,7 @@ onUnmounted(() => {
-
-
+
-
diff --git a/src/backupintegrity.js b/src/backupintegrity.js
index dae9f521c..5bede7f1a 100644
--- a/src/backupintegrity.js
+++ b/src/backupintegrity.js
@@ -68,6 +68,15 @@ async function check(backupId, progressCallback) {
for (const depId of backup.dependsOn) {
const depBackup = await backups.get(depId);
progressCallback({ percent: Math.round(completed / total * 100), message: `Verifying ${depBackup.remotePath}` });
+
+ if (!depBackup.integrity) {
+ // old backups (from stopped apps) do not integrity information
+ progressCallback({ message: `Skipping ${depBackup.remotePath} (no integrity data)` });
+ await backups.setIntegrityResult(depBackup, 'skipped', { stats: null, messages: [] });
+ completed++;
+ continue;
+ }
+
const result = await verify(depBackup, backupSite, progressCallback); // { stats, messages }
completed++;