diff --git a/aleksis/core/health_checks.py b/aleksis/core/health_checks.py
index 3e89adcc0963c8c064cf2b6c982179b789eaf4c1..806a7005aee73bc3775d8bef67eac15f4926887a 100644
--- a/aleksis/core/health_checks.py
+++ b/aleksis/core/health_checks.py
@@ -28,34 +28,36 @@ class BaseBackupHealthCheck(BaseHealthCheckBackend):
     """Common base class for backup age checks."""
 
     critical_service = False
+    content_type = None
+    configured_seconds = None
 
     def check_status(self):
         storage = get_storage()
-        last_backup = storage.list_backups(content_type=self.content_type)[-1]
-        last_backup_time = dbbackup_utils.filename_to_date(last_backup)
-        time_gone_since_backup = last_backup_time - datetime.now()
+        backups = storage.list_backups(content_type=self.content_type)
+        if backups:
+            last_backup = storage.list_backups(content_type=self.content_type)[-1]
+            last_backup_time = dbbackup_utils.filename_to_date(last_backup)
+            time_gone_since_backup = last_backup_time - datetime.now()
 
-        # Check if backup is older than configured time
-        if time_gone_since_backup.seconds > settings.DBBACKUP_SECONDS:
-            self.add_error(_(f"Last backup {time_gone_since_backup}!"))
+            # Check if backup is older than configured time
+            if time_gone_since_backup.seconds > self.configured_seconds:
+                self.add_error(_(f"Last backup {time_gone_since_backup}!"))
+        else:
+            self.add_error(_("No backup found!"))
 
 
 class DbBackupAgeHealthCheck(BaseBackupHealthCheck):
     """Checks if last backup file is less than configured seconds ago."""
 
     content_type = "db"
-
-    def identifier(self):
-        return self.__class__.__name__
+    configured_seconds = settings.DBBACKUP_CHECK_SECONDS
 
 
 class MediaBackupAgeHealthCheck(BaseBackupHealthCheck):
     """Checks if last backup file is less than configured seconds ago."""
 
     content_type = "media"
-
-    def identifier(self):
-        return self.__class__.__name__
+    configured_seconds = settings.MEDIABACKUP_CHECK_SECONDS
 
 
 class BackupJobHealthCheck(BaseHealthCheckBackend):
@@ -64,13 +66,10 @@ class BackupJobHealthCheck(BaseHealthCheckBackend):
     critical_service = False
 
     def check_status(self):
-        task = TaskResult.objects.filter(task_name="aleksis.core.tasks.backup_data")
+        task = TaskResult.objects.filter(task_name="aleksis.core.tasks.backup_data").last()
 
         # Check if state is success
-        if not task.last():
+        if not task:
             self.add_error(_("No backup result found!"))
-        if task.last() and task.last().status != "SUCCESS":
-            self.add_error(_(f"{task.last().status} - {task.last().result}"))
-
-    def identifier(self):
-        return self.__class__.__name__
+        elif task and task.status != "SUCCESS":
+            self.add_error(_(f"{task.status} - {task.result}"))
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index f16a7f2a4705ca34c9605a10374227e7fe170fa8..1fa40611145239c246ede474d495f822b56835f0 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -730,6 +730,7 @@ HEALTH_CHECK = {
     "MEMORY_MIN": _settings.get("health.memory_min_mb", 500),
 }
 
-DBBACKUP_SECONDS = _settings.get("backup.seconds", 7200)
+DBBACKUP_CHECK_SECONDS = _settings.get("backup.database.check_seconds", 7200)
+MEDIABACKUP_CHECK_SECONDS = _settings.get("backup.media.check_seconds", 7200)
 
 PROMETHEUS_EXPORT_MIGRATIONS = False