diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index b7d3bcd7e0308168d2912693af13807b23e34e99..c711bb3d4cee3707b7a7aa436e141e0d2e020809 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -76,10 +76,17 @@ def merge_app_settings(
     """
     for app in get_app_packages():
         pkg = ".".join(app.split(".")[:-2])
-        try:
-            mod_settings = import_module(pkg + ".settings")
-        except ImportError:
-            # Import errors are non-fatal. They mean that the app has no settings.py.
+        mod_settings = None
+        while "." in pkg:
+            try:
+                mod_settings = import_module(pkg + ".settings")
+            except ImportError:
+                # Import errors are non-fatal.
+                pkg = ".".join(pkg.split(".")[:-1])
+                continue
+            break
+        if not mod_settings:
+            # The app does not have settings
             continue
 
         app_setting = getattr(mod_settings, setting, None)