diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index d0042d654947a30735f3012794f9edf5f162b00f..8927844a47da2f30e030a9b0815e82539940d8ba 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -239,7 +239,10 @@ class Person(ExtensibleModel):
     @property
     def dashboard_widgets(self):
         return [
-            w.widget for w in DashboardWidgetOrder.objects.filter(person=self).order_by("order")
+            w.widget
+            for w in DashboardWidgetOrder.objects.filter(person=self, widget__active=True).order_by(
+                "order"
+            )
         ]
 
     def save(self, *args, **kwargs):
@@ -749,7 +752,12 @@ class DashboardWidgetOrder(ExtensibleModel):
     @classproperty
     def default_dashboard_widgets(cls):
         """Get default order for dashboard widgets."""
-        return [w.widget for w in cls.objects.filter(person=None, default=True).order_by("order")]
+        return [
+            w.widget
+            for w in cls.objects.filter(person=None, default=True, widget__active=True).order_by(
+                "order"
+            )
+        ]
 
     class Meta:
         verbose_name = _("Dashboard widget order")
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 44e1aa33ddcb3b701ba47ce2fb53822cc52c452e..41b36acfbcff7573366a2328d2d0f9f2a92fe1df 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -868,7 +868,9 @@ class EditDashboardView(View):
             if not self.default_dashboard
             else DashboardWidgetOrder.default_dashboard_widgets
         )
-        not_used_widgets = DashboardWidget.objects.exclude(pk__in=[w.pk for w in widgets])
+        not_used_widgets = DashboardWidget.objects.exclude(pk__in=[w.pk for w in widgets]).filter(
+            active=True
+        )
         context["widgets"] = widgets
         context["not_used_widgets"] = not_used_widgets