diff --git a/biscuit/core/forms.py b/biscuit/core/forms.py
index c40e149fc951b0dba40c959bbdc6405a002c9b5e..7b25d80410a3c6b9a73930001ca15e4eb6e4a47a 100644
--- a/biscuit/core/forms.py
+++ b/biscuit/core/forms.py
@@ -1,5 +1,5 @@
 from django import forms
-from django.contrib.auth import create_user, get_user_model
+from django.contrib.auth import get_user_model
 from django.utils.translation import ugettext_lazy as _
 
 from .models import Person
@@ -16,16 +16,18 @@ class PersonAccountForm(forms.ModelForm):
     new_user = forms.CharField(required=False)
 
     def clean(self) -> None:
+        User = get_user_model()
+
         if 'new_user' in self.cleaned_data:
             if 'user' in self.cleaned_data and self.cleaned_data['user']:
                 self.add_error('new_user', _('You cannot set a new username when also selecting an existing user.'))
-            elif get_user_model().objects.filter(username=self.cleaned_data['new_user']).exists():
+            elif User.objects.filter(username=self.cleaned_data['new_user']).exists():
                 self.add_error('new_user', _('This username is already in use.'))
             else:
-                new_user_obj = create_user(self.cleaned_data['new_user'],
-                                           self.instance.email,
-                                           first_name=self.instance.first_name,
-                                           last_name=self.instance.last_name)
+                new_user_obj = User.objects.create_user(self.cleaned_data['new_user'],
+                                                        self.instance.email,
+                                                        first_name=self.instance.first_name,
+                                                         last_name=self.instance.last_name)
 
                 self.cleaned_data['user'] = new_user_obj