diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py
index 2f469606c95086ce26993129ba5840071465bb6b..3ac7fed78f285043baed475aeefb152f224f27d1 100644
--- a/aleksis/core/forms.py
+++ b/aleksis/core/forms.py
@@ -659,7 +659,11 @@ class AccountRegisterForm(SignupForm, ExtensibleForm):
                 if get_site_preferences()["account__auto_create_person"]:
                     Person.objects.create(user=user, **data)
         if person_qs.exists():
-            person_qs.update(user=user, **data)
+            person = person_qs.first()
+            for field, value in data.items():
+                setattr(person, field, value)
+            person.user = user
+            person.save()
         self.custom_signup(request, user)
         setup_user_email(request, user, [])
         return user