diff --git a/aleksis/core/menus.py b/aleksis/core/menus.py
index 1ed63d98fe397c11836350d0d11bea8e2750ffaf..f04baef7eb3b0f4b560aeaa919f29d8222751564 100644
--- a/aleksis/core/menus.py
+++ b/aleksis/core/menus.py
@@ -50,7 +50,10 @@ MENUS = {
                     "name": _("Me"),
                     "url": "person",
                     "icon": "insert_emoticon",
-                    "validators": ["menu_generator.validators.is_authenticated"],
+                    "validators": [
+                        "menu_generator.validators.is_authenticated",
+                        "aleksis.core.util.core_helpers.has_person",
+                    ],
                 },
             ],
         },
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 51a89e5552158188973b2c244cfdce63b8604b02..f3eae71612f3f0c488437b3a7ccb33fb4e214f0d 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -78,7 +78,7 @@ def persons(request: HttpRequest) -> HttpResponse:
     return render(request, "core/persons.html", context)
 
 
-@login_required
+@person_required
 def person(request: HttpRequest, id_: Optional[int] = None) -> HttpResponse:
     context = {}