diff --git a/djangoldp_circle/models.py b/djangoldp_circle/models.py
index 777b28a9bdd447b58ef01d9a778d037894bc97ee..fa4351f18a3180cb4dbda75178e2842de831c8f4 100644
--- a/djangoldp_circle/models.py
+++ b/djangoldp_circle/models.py
@@ -2,7 +2,7 @@ import random
 import string
 from django.conf import settings
 from django.db import models
-from django.db.models.signals import pre_save
+from django.db.models.signals import pre_save, post_save
 from django.dispatch import receiver
 from djangoldp.models import Model
 
@@ -51,6 +51,7 @@ class CircleMember(Model):
         owner_perms = ["view", "add", "delete"]
         auto_author = "user"
         owner_field = "user"
+        unique_together = ['user', 'circle']
 
 
 @receiver(pre_save, sender=Circle)
@@ -66,3 +67,8 @@ def set_jabberid(sender, instance, **kwargs):
             settings.JABBER_DEFAULT_HOST
         )
         instance.jabberRoom = True
+
+@receiver(post_save, sender=Circle)
+def set_ower_as_member(instance, created, **kwargs):
+    if(created):
+        CircleMember.objects.create(user=instance.owner, circle=instance)
diff --git a/djangoldp_circle/views.py b/djangoldp_circle/views.py
index 8a77f8374435583ed62350ba251820283a8d8071..1df5a46531e83e2b63775dcc3c118e9fa7f68479 100644
--- a/djangoldp_circle/views.py
+++ b/djangoldp_circle/views.py
@@ -7,4 +7,6 @@ class CirclesJoinableViewset(LDPViewSet):
 
     def get_queryset(self):
         return super().get_queryset() \
-                      .exclude(team__id=self.request.user.id)
+                      .exclude(team__id=self.request.user.id) \
+                      .exclude(status="Private") \
+                      .exclude(status="Archived")