diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index c4d2d9d6b8215dd19dccda5f98e060f3b87e3f67..b533b05599a4fbfb779606819a43f326c6651c3c 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -20,6 +20,7 @@ Fixed
 ~~~~~
 
 * Fix installation documentation (nginx, uWSGI).
+* Use a set for data checks registry to prevent double entries.
 
 Removed
 ~~~~~~~
diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py
index 16d30129631f574c6fa987612356a3481164c8ec..9679c309ed9e6280495b420651e6c17fe56d3daf 100644
--- a/aleksis/core/apps.py
+++ b/aleksis/core/apps.py
@@ -74,9 +74,9 @@ class CoreConfig(AppConfig):
         """Get all data checks from all loaded models."""
         from aleksis.core.data_checks import DataCheckRegistry
 
-        data_checks = []
+        data_checks = set()
         for model in apps.get_models():
-            data_checks += getattr(model, "data_checks", [])
+            data_checks.update(getattr(model, "data_checks", []))
         DataCheckRegistry.data_checks = data_checks
 
     def preference_updated(
diff --git a/aleksis/core/data_checks.py b/aleksis/core/data_checks.py
index 02d2d7dd1839309199edac7c101a01635444e01a..234c82c0ca12b46c7e1aebd7151fb2f2a1c0c2ca 100644
--- a/aleksis/core/data_checks.py
+++ b/aleksis/core/data_checks.py
@@ -225,7 +225,7 @@ class DataCheck:
 class DataCheckRegistry:
     """Create central registry for all data checks in AlekSIS."""
 
-    data_checks = []
+    data_checks: set = set()
 
     @classproperty
     def data_checks_by_name(cls):