diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index c776b75dc8026cbe6564f7478e76da49f07cd7eb..4f54538ab74e5afd3c440cb18f58fea7ba38ebd5 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -31,6 +31,7 @@ Fixed
 * Sometimes the PDF files were not generated correctly
   and images were displayed only partially.
 * Error message in permission form was misleading.
+* Personal invites did not work
 * Invite Person view threw an error when personal invites existed
 
 Removed
diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py
index 05ebef2f4f3dd17124a4449ebe06b6622c1ad1be..136c6d38f1bf7b143ecf631077f48b75c2149957 100644
--- a/aleksis/core/forms.py
+++ b/aleksis/core/forms.py
@@ -639,8 +639,12 @@ class AccountRegisterForm(SignupForm, ExtensibleForm):
         for field in Person._meta.get_fields():
             if field.name in self.cleaned_data:
                 data[field.name] = self.cleaned_data[field.name]
-        if not Person.objects.filter(email=data["email"]):
-            _person, created = Person.objects.update_or_create(user=user, **data)
+        person_qs = Person.objects.filter(email=data["email"])
+        if not person_qs.exists():
+            if get_site_preferences()["account__auto_create_person"]:
+                Person.objects.create(user=user, **data)
+        else:
+            person_qs.update(user=user, **data)
         self.custom_signup(request, user)
         setup_user_email(request, user, [])
         return user