diff --git a/users/models.py b/users/models.py
index 863d2199879672e9d607eb76702735252e713c09..83e9b4d5d85f2121b8e85b3e822302f733c0718e 100644
--- a/users/models.py
+++ b/users/models.py
@@ -122,6 +122,7 @@ class User(pirates_models.AbstractUser):
         if (
             not self._state.adding
             and not saved_by_auth
+            and hasattr(self, "_loaded_values")
             and self._loaded_values["is_staff"] != self.is_staff
         ):
             self.is_staff_based_on_group = False