diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index e11d84a9cad2d7973c179304158e55727c26d5cc..50f7a7cd25da3dcf077f5192494545d2fce16ed0 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -191,6 +191,10 @@ class Person(ExtensibleModel):
             self.user.email = self.email
             self.user.save()
 
+        # Save all related groups once to keep synchronisation with Django
+        for group in self.member_of.join(self.owner_of).all():
+            group.save()
+
         self.auto_select_primary_group()
 
     def __str__(self) -> str: