diff --git a/etiquette/exceptions.py b/etiquette/exceptions.py
index b070a69..fac32af 100644
--- a/etiquette/exceptions.py
+++ b/etiquette/exceptions.py
@@ -109,6 +109,9 @@ class UserExists(Exists):
 
 
 # TAG ERRORS
+class CantGroupSelf(EtiquetteException):
+    error_message = 'Cannot group {} into itself.'
+
 class CantSynonymSelf(EtiquetteException):
     error_message = 'Cannot apply synonym to self.'
 
diff --git a/etiquette/objects.py b/etiquette/objects.py
index 8b3ae08..5c00b92 100644
--- a/etiquette/objects.py
+++ b/etiquette/objects.py
@@ -87,6 +87,9 @@ class GroupableMixin:
     def add_child(self, member, *, commit=True):
         self.assert_same_type(member)
 
+        if member == self:
+            raise exceptions.CantGroupSelf(self)
+
         if self.has_child(member):
             return