diff --git a/arkindex/documents/managers.py b/arkindex/documents/managers.py
index 97f0ea2f5724068e8381cbea0871d45a6f8127b7..efc103ae03d68cd05ee38679c6a3255bf84fe529 100644
--- a/arkindex/documents/managers.py
+++ b/arkindex/documents/managers.py
@@ -138,7 +138,7 @@ class CorpusManager(models.Manager):
         # * public corpus
         # * private with ACL
         qs = qs.prefetch_related('corpus_right')
-        qs = qs.filter(models.Q(public=True) | models.Q(corpus_right__user=user))
+        qs = qs.filter(models.Q(public=True) | models.Q(corpus_right__user=user)).distinct()
         return qs
 
     def writable(self, user):
@@ -153,4 +153,4 @@ class CorpusManager(models.Manager):
             return qs.all()
 
         # Authenticated users can write only on corpora with ACL
-        return qs.filter(corpus_right__user=user, corpus_right__can_write=True)
+        return qs.filter(corpus_right__user=user, corpus_right__can_write=True).distinct()