diff --git a/arkindex/documents/serializers/elements.py b/arkindex/documents/serializers/elements.py
index 970d48e7d66fc57f439c47e091f665423389532d..784075ff14e95deabae5ee5843f67082786c9b7e 100644
--- a/arkindex/documents/serializers/elements.py
+++ b/arkindex/documents/serializers/elements.py
@@ -53,7 +53,7 @@ class CorpusSerializer(serializers.ModelSerializer):
     """
     rights = serializers.SerializerMethodField(read_only=True)
     types = ElementTypeSerializer(many=True, read_only=True)
-    authorized_users = serializers.IntegerField(read_only=True)
+    authorized_users = serializers.SerializerMethodField(read_only=True)
 
     class Meta:
         model = Corpus
@@ -71,6 +71,12 @@ class CorpusSerializer(serializers.ModelSerializer):
     def get_rights(self, corpus):
         return map(lambda x: x.value, corpus.get_acl_rights(self.context['request'].user))
 
+    def get_authorized_users(self, corpus):
+        count = getattr(corpus, 'authorized_users', None)
+        if count is None:
+            count = corpus.corpus_right.count()
+        return count
+
     def create(self, validated_data):
         corpus = Corpus.objects.create(**validated_data)
         corpus.corpus_right.create(
diff --git a/arkindex/documents/tests/test_corpus.py b/arkindex/documents/tests/test_corpus.py
index a0a1bd84123f5f2685347c459da8b8ea687437f9..6824e3c33ded4d4f4edc83ea707c8beb91fd9c65 100644
--- a/arkindex/documents/tests/test_corpus.py
+++ b/arkindex/documents/tests/test_corpus.py
@@ -354,6 +354,7 @@ class TestCorpus(FixtureAPITestCase):
             'public': True,
             'rights': ['read'],
             'created': DB_CREATED,
+            'authorized_users': 1,
         })
 
     def test_retrieve(self):
@@ -368,6 +369,7 @@ class TestCorpus(FixtureAPITestCase):
             'rights': ['read', 'write'],
             'types': [],
             'created': str(FAKE_NOW).replace(' ', 'T') + 'Z',
+            'authorized_users': 1,
         })
 
     def test_retrieve_requires_login(self):