diff --git a/biscuit/core/models.py b/biscuit/core/models.py
index 2f684593c1df2d84d9aba06b902c5fd818ad499c..a1991a538111f5c0a63c9ccb5164311ba9a11dc9 100644
--- a/biscuit/core/models.py
+++ b/biscuit/core/models.py
@@ -100,8 +100,8 @@ class Person(SchoolRelated):
 
     def save(self, *args, **kwargs):
         if self.primary_group:
-            if self.primary_group not in self.member_of:
-                self.member_of.append(self.primary_group)
+            if self.primary_group not in self.member_of.all():
+                self.member_of.add(self.primary_group)
 
         return super().save(*args, **kwargs)