diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index d076019ea175fcc03be612154af937bc655605ef..74a656a61f73f37b3191dc6935ac160f7f53878b 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -256,6 +256,8 @@ class DummyPerson(Person):
         managed = False
         proxy = True
 
+    is_dummy = True
+
     def save(self, *args, **kwargs):
         pass
         
diff --git a/aleksis/core/templates/core/no_person.html b/aleksis/core/templates/core/no_person.html
index 3f506809af721cda657d6a3681a4bfa8e7138916..2d4431f371979ef44fdcad8f89f1827f9db61db4 100644
--- a/aleksis/core/templates/core/no_person.html
+++ b/aleksis/core/templates/core/no_person.html
@@ -2,7 +2,7 @@
 
 {% load i18n %}
 
-{% if not user.person and not user.is_anonymous %}
+{% if user.person.is_dummy or not user.person and not user.is_anonymous %}
   <div class="alert error">
     <div>
       <i class="material-icons left">error</i>
diff --git a/aleksis/core/util/middlewares.py b/aleksis/core/util/middlewares.py
index 49d5c2e3eb6a2c36b4f7d2bdcfc915487ff8bee1..bdedfa3bac236b7d89058a0e0657313044325701 100644
--- a/aleksis/core/util/middlewares.py
+++ b/aleksis/core/util/middlewares.py
@@ -5,7 +5,6 @@ from django.http import HttpRequest, HttpResponse
 from django.util.translation import gettext_lazy as _
 
 from .core_helpers import has_person
-from .messages import warning
 from ..models import DummyPerson
 
 
@@ -27,7 +26,5 @@ class EnsurePersonMiddleware:
                 dummy_person = DummyPerson(first_name=request.user.first_name, last_name=request.user.last_name)
                 request.user.person = dummy_person
 
-                warning(request, _("A dummy user has been linked to your user account."))
-
         response = self.get_response(request)
         return response