diff --git a/src/postorius/models.py b/src/postorius/models.py
index b3e388b..0269c71 100644
--- a/src/postorius/models.py
+++ b/src/postorius/models.py
@@ -129,24 +129,18 @@
     def __init__(self):
         super(MailmanListManager, self).__init__('list', 'lists')
 
-    def all(self, only_public=False):
+    def all(self, advertised=False):
         try:
-            objects = getattr(get_mailman_client(), self.resource_name_plural)
+            method = getattr(
+                get_mailman_client(), 'get_' + self.resource_name_plural)
+            return method(advertised=advertised)
         except AttributeError:
             raise MailmanApiError
         except MailmanConnectionError as e:
             raise MailmanApiError(e)
-        if only_public:
-            public = []
-            for obj in objects:
-                if obj.settings.get('advertised', False):
-                    public.append(obj)
-            return public
-        else:
-            return objects
 
-    def by_mail_host(self, mail_host, only_public=False):
-        objects = self.all(only_public)
+    def by_mail_host(self, mail_host, advertised=False):
+        objects = self.all(advertised)
         host_objects = []
         for obj in objects:
             if obj.mail_host == mail_host:
diff --git a/src/postorius/templates/postorius/index.html b/src/postorius/templates/postorius/index.html
index b0cae21..6c76350 100644
--- a/src/postorius/templates/postorius/index.html
+++ b/src/postorius/templates/postorius/index.html
@@ -36,7 +36,7 @@
                         
                             | {{ list.display_name }}
-                                {% if not list.settings.advertised %} ({% trans 'unadvertised' %}*){% endif %}
+                                {% if user.is_superuser and not list.settings.advertised %} ({% trans 'unadvertised' %}*){% endif %} | {{ list.fqdn_listname }} | {{ list.settings.description }}diff --git a/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_contains_the_lists.yaml b/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_contains_the_lists.yaml
index 10cac47..538217d 100644
--- a/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_contains_the_lists.yaml
+++ b/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_contains_the_lists.yaml
@@ -1,10 +1,10 @@
 interactions:
 - request:
-    body: !!python/unicode mail_host=example.com
+    body: !!python/unicode 'mail_host=example.com'
     headers:
       accept-encoding: ['gzip, deflate']
-      !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
-    method: !!python/unicode POST
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
     uri: http://localhost:9001/3.0/domains
   response:
     body: {string: !!python/unicode ''}
@@ -17,7 +17,7 @@
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
+    method: !!python/unicode 'GET'
     uri: http://localhost:9001/3.0/domains/example.com
   response:
     body: {string: !!python/unicode '{"description": null, "http_etag": "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"",
@@ -27,11 +27,11 @@
       content-type: [application/json; charset=UTF-8]
     status: {code: 200, message: OK}
 - request:
-    body: !!python/unicode fqdn_listname=foo%40example.com
+    body: !!python/unicode 'fqdn_listname=foo%40example.com'
     headers:
       accept-encoding: ['gzip, deflate']
-      !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
-    method: !!python/unicode POST
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
     uri: http://localhost:9001/3.0/lists
   response:
     body: {string: !!python/unicode ''}
@@ -41,11 +41,11 @@
       location: ['http://localhost:9001/3.0/lists/foo.example.com']
     status: {code: 201, message: Created}
 - request:
-    body: !!python/unicode fqdn_listname=bar%40example.com
+    body: !!python/unicode 'fqdn_listname=bar%40example.com'
     headers:
       accept-encoding: ['gzip, deflate']
-      !!python/unicode content-type: [!!python/unicode application/x-www-form-urlencoded]
-    method: !!python/unicode POST
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
     uri: http://localhost:9001/3.0/lists
   response:
     body: {string: !!python/unicode ''}
@@ -58,8 +58,21 @@
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
-    uri: http://localhost:9001/3.0/lists
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists?advertised=true&count=0&page=1
+  response:
+    body: {string: !!python/unicode '{"http_etag": "\"f14dfdb06627a6336a504885e036239a5b208434\"",
+        "start": 0, "total_size": 2}'}
+    headers:
+      content-length: ['90']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists?advertised=true&count=10&page=1
   response:
     body: {string: !!python/unicode '{"entries": [{"display_name": "Bar", "fqdn_listname":
         "bar@example.com", "http_etag": "\"ca42a69a3bab5619e147cc6cbbfca16115976764\"",
@@ -79,7 +92,36 @@
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains
+  response:
+    body: {string: !!python/unicode '{"entries": [{"description": null, "http_etag":
+        "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"", "mail_host": "example.com",
+        "self_link": "http://localhost:9001/3.0/domains/example.com"}], "http_etag":
+        "\"2ec9679269ad1f741705a62db0162f5585ae5c3c\"", "start": 0, "total_size":
+        1}'}
+    headers:
+      content-length: ['277']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains/example.com
+  response:
+    body: {string: !!python/unicode '{"description": null, "http_etag": "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"",
+        "mail_host": "example.com", "self_link": "http://localhost:9001/3.0/domains/example.com"}'}
+    headers:
+      content-length: ['172']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
     uri: http://localhost:9001/3.0/lists/bar@example.com/config
   response:
     body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
@@ -95,25 +137,25 @@
         true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
         "digests_enabled": true, "display_name": "Bar", "filter_content": false, "first_strip_reply_to":
         false, "footer_uri": "", "fqdn_listname": "bar@example.com", "goodbye_message_uri":
-        "", "header_uri": "", "http_etag": "\"e24c842e50f43f703c1ab0c65345650808e9b85e\"",
-        "include_rfc2369_headers": true, "join_address": "bar-join@example.com", "last_post_at":
-        null, "leave_address": "bar-leave@example.com", "list_name": "bar", "mail_host":
-        "example.com", "moderator_password": null, "next_digest_number": 1, "no_reply_address":
-        "noreply@example.com", "owner_address": "bar-owner@example.com", "post_id":
-        1, "posting_address": "bar@example.com", "posting_pipeline": "default-posting-pipeline",
+        "", "header_uri": "", "http_etag": "\"6a420444739ae906b975d89d07c185193d4afab6\"",
+        "include_rfc2369_headers": true, "info": "", "join_address": "bar-join@example.com",
+        "last_post_at": null, "leave_address": "bar-leave@example.com", "list_name":
+        "bar", "mail_host": "example.com", "moderator_password": null, "next_digest_number":
+        1, "no_reply_address": "noreply@example.com", "owner_address": "bar-owner@example.com",
+        "post_id": 1, "posting_address": "bar@example.com", "posting_pipeline": "default-posting-pipeline",
         "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
         "bar-request@example.com", "send_welcome_message": true, "subject_prefix":
         "[Bar] ", "subscription_policy": "confirm", "volume": 1, "welcome_message_uri":
         ""}'}
     headers:
-      content-length: ['1777']
+      content-length: ['1789']
       content-type: [application/json; charset=UTF-8]
     status: {code: 200, message: OK}
 - request:
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
+    method: !!python/unicode 'GET'
     uri: http://localhost:9001/3.0/lists/foo@example.com/config
   response:
     body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
@@ -129,25 +171,25 @@
         true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
         "digests_enabled": true, "display_name": "Foo", "filter_content": false, "first_strip_reply_to":
         false, "footer_uri": "", "fqdn_listname": "foo@example.com", "goodbye_message_uri":
-        "", "header_uri": "", "http_etag": "\"9c0047d131626776afd9a0187d91b2a4a7ea0b15\"",
-        "include_rfc2369_headers": true, "join_address": "foo-join@example.com", "last_post_at":
-        null, "leave_address": "foo-leave@example.com", "list_name": "foo", "mail_host":
-        "example.com", "moderator_password": null, "next_digest_number": 1, "no_reply_address":
-        "noreply@example.com", "owner_address": "foo-owner@example.com", "post_id":
-        1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+        "", "header_uri": "", "http_etag": "\"e752899e2a568ccaad1d891e72c137a4cbc82d5d\"",
+        "include_rfc2369_headers": true, "info": "", "join_address": "foo-join@example.com",
+        "last_post_at": null, "leave_address": "foo-leave@example.com", "list_name":
+        "foo", "mail_host": "example.com", "moderator_password": null, "next_digest_number":
+        1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+        "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
         "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
         "foo-request@example.com", "send_welcome_message": true, "subject_prefix":
         "[Foo] ", "subscription_policy": "confirm", "volume": 1, "welcome_message_uri":
         ""}'}
     headers:
-      content-length: ['1777']
+      content-length: ['1789']
       content-type: [application/json; charset=UTF-8]
     status: {code: 200, message: OK}
 - request:
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
+    method: !!python/unicode 'GET'
     uri: http://localhost:9001/3.0/domains
   response:
     body: {string: !!python/unicode '{"entries": [{"description": null, "http_etag":
@@ -163,36 +205,7 @@
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
-    uri: http://localhost:9001/3.0/domains/example.com
-  response:
-    body: {string: !!python/unicode '{"description": null, "http_etag": "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"",
-        "mail_host": "example.com", "self_link": "http://localhost:9001/3.0/domains/example.com"}'}
-    headers:
-      content-length: ['172']
-      content-type: [application/json; charset=UTF-8]
-    status: {code: 200, message: OK}
-- request:
-    body: null
-    headers:
-      accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
-    uri: http://localhost:9001/3.0/domains
-  response:
-    body: {string: !!python/unicode '{"entries": [{"description": null, "http_etag":
-        "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"", "mail_host": "example.com",
-        "self_link": "http://localhost:9001/3.0/domains/example.com"}], "http_etag":
-        "\"2ec9679269ad1f741705a62db0162f5585ae5c3c\"", "start": 0, "total_size":
-        1}'}
-    headers:
-      content-length: ['277']
-      content-type: [application/json; charset=UTF-8]
-    status: {code: 200, message: OK}
-- request:
-    body: null
-    headers:
-      accept-encoding: ['gzip, deflate']
-    method: !!python/unicode DELETE
+    method: !!python/unicode 'DELETE'
     uri: http://localhost:9001/3.0/domains/example.com
   response:
     body: {string: !!python/unicode ''}
@@ -203,7 +216,7 @@
     body: null
     headers:
       accept-encoding: ['gzip, deflate']
-    method: !!python/unicode GET
+    method: !!python/unicode 'GET'
     uri: http://localhost:9001/3.0/users
   response:
     body: {string: !!python/unicode '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
diff --git a/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_only_contains_advertised_lists.yaml b/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_only_contains_advertised_lists.yaml
new file mode 100644
index 0000000..160531f
--- /dev/null
+++ b/src/postorius/tests/fixtures/vcr_cassettes/ListIndexPageTest.test_list_index_only_contains_advertised_lists.yaml
@@ -0,0 +1,303 @@
+interactions:
+- request:
+    body: !!python/unicode 'mail_host=example.com'
+    headers:
+      accept-encoding: ['gzip, deflate']
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
+    uri: http://localhost:9001/3.0/domains
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+      content-type: [application/json; charset=UTF-8]
+      location: ['http://localhost:9001/3.0/domains/example.com']
+    status: {code: 201, message: Created}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains/example.com
+  response:
+    body: {string: !!python/unicode '{"description": null, "http_etag": "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"",
+        "mail_host": "example.com", "self_link": "http://localhost:9001/3.0/domains/example.com"}'}
+    headers:
+      content-length: ['172']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: !!python/unicode 'fqdn_listname=foo%40example.com'
+    headers:
+      accept-encoding: ['gzip, deflate']
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
+    uri: http://localhost:9001/3.0/lists
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+      content-type: [application/json; charset=UTF-8]
+      location: ['http://localhost:9001/3.0/lists/foo.example.com']
+    status: {code: 201, message: Created}
+- request:
+    body: !!python/unicode 'fqdn_listname=bar%40example.com'
+    headers:
+      accept-encoding: ['gzip, deflate']
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
+    uri: http://localhost:9001/3.0/lists
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+      content-type: [application/json; charset=UTF-8]
+      location: ['http://localhost:9001/3.0/lists/bar.example.com']
+    status: {code: 201, message: Created}
+- request:
+    body: !!python/unicode 'fqdn_listname=baz%40example.com'
+    headers:
+      accept-encoding: ['gzip, deflate']
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'POST'
+    uri: http://localhost:9001/3.0/lists
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+      content-type: [application/json; charset=UTF-8]
+      location: ['http://localhost:9001/3.0/lists/baz.example.com']
+    status: {code: 201, message: Created}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists/baz.example.com
+  response:
+    body: {string: !!python/unicode '{"display_name": "Baz", "fqdn_listname": "baz@example.com",
+        "http_etag": "\"4eec713d151af9d161047a5e3b814c05b6c958f0\"", "list_id": "baz.example.com",
+        "list_name": "baz", "mail_host": "example.com", "member_count": 0, "self_link":
+        "http://localhost:9001/3.0/lists/baz.example.com", "volume": 1}'}
+    headers:
+      content-length: ['294']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists/baz@example.com/config
+  response:
+    body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+        true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+        true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+        "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+        "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+        "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+        "baz-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+        false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+        "default_nonmember_action": "hold", "description": "", "digest_footer_uri":
+        "", "digest_header_uri": "", "digest_last_sent_at": null, "digest_send_periodic":
+        true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
+        "digests_enabled": true, "display_name": "Baz", "filter_content": false, "first_strip_reply_to":
+        false, "footer_uri": "", "fqdn_listname": "baz@example.com", "goodbye_message_uri":
+        "", "header_uri": "", "http_etag": "\"7331faacc9b01fc2247dac57065effc4a4deaf94\"",
+        "include_rfc2369_headers": true, "info": "", "join_address": "baz-join@example.com",
+        "last_post_at": null, "leave_address": "baz-leave@example.com", "list_name":
+        "baz", "mail_host": "example.com", "moderator_password": null, "next_digest_number":
+        1, "no_reply_address": "noreply@example.com", "owner_address": "baz-owner@example.com",
+        "post_id": 1, "posting_address": "baz@example.com", "posting_pipeline": "default-posting-pipeline",
+        "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+        "baz-request@example.com", "send_welcome_message": true, "subject_prefix":
+        "[Baz] ", "subscription_policy": "confirm", "volume": 1, "welcome_message_uri":
+        ""}'}
+    headers:
+      content-length: ['1789']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: !!python/unicode 'advertised=False'
+    headers:
+      accept-encoding: ['gzip, deflate']
+      !!python/unicode 'content-type': [!!python/unicode 'application/x-www-form-urlencoded']
+    method: !!python/unicode 'PATCH'
+    uri: http://localhost:9001/3.0/lists/baz@example.com/config
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+    status: {code: 204, message: No Content}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists?advertised=true&count=0&page=1
+  response:
+    body: {string: !!python/unicode '{"http_etag": "\"f14dfdb06627a6336a504885e036239a5b208434\"",
+        "start": 0, "total_size": 2}'}
+    headers:
+      content-length: ['90']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists?advertised=true&count=10&page=1
+  response:
+    body: {string: !!python/unicode '{"entries": [{"display_name": "Bar", "fqdn_listname":
+        "bar@example.com", "http_etag": "\"ca42a69a3bab5619e147cc6cbbfca16115976764\"",
+        "list_id": "bar.example.com", "list_name": "bar", "mail_host": "example.com",
+        "member_count": 0, "self_link": "http://localhost:9001/3.0/lists/bar.example.com",
+        "volume": 1}, {"display_name": "Foo", "fqdn_listname": "foo@example.com",
+        "http_etag": "\"698a819bbb6b902096a8c5543cc7fac2328960d5\"", "list_id": "foo.example.com",
+        "list_name": "foo", "mail_host": "example.com", "member_count": 0, "self_link":
+        "http://localhost:9001/3.0/lists/foo.example.com", "volume": 1}], "http_etag":
+        "\"70914f3f48a7570173531843e3ca4768008a9428\"", "start": 0, "total_size":
+        2}'}
+    headers:
+      content-length: ['695']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains
+  response:
+    body: {string: !!python/unicode '{"entries": [{"description": null, "http_etag":
+        "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"", "mail_host": "example.com",
+        "self_link": "http://localhost:9001/3.0/domains/example.com"}], "http_etag":
+        "\"2ec9679269ad1f741705a62db0162f5585ae5c3c\"", "start": 0, "total_size":
+        1}'}
+    headers:
+      content-length: ['277']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains/example.com
+  response:
+    body: {string: !!python/unicode '{"description": null, "http_etag": "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"",
+        "mail_host": "example.com", "self_link": "http://localhost:9001/3.0/domains/example.com"}'}
+    headers:
+      content-length: ['172']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists/bar@example.com/config
+  response:
+    body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+        true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+        true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+        "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+        "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+        "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+        "bar-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+        false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+        "default_nonmember_action": "hold", "description": "", "digest_footer_uri":
+        "", "digest_header_uri": "", "digest_last_sent_at": null, "digest_send_periodic":
+        true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
+        "digests_enabled": true, "display_name": "Bar", "filter_content": false, "first_strip_reply_to":
+        false, "footer_uri": "", "fqdn_listname": "bar@example.com", "goodbye_message_uri":
+        "", "header_uri": "", "http_etag": "\"6a420444739ae906b975d89d07c185193d4afab6\"",
+        "include_rfc2369_headers": true, "info": "", "join_address": "bar-join@example.com",
+        "last_post_at": null, "leave_address": "bar-leave@example.com", "list_name":
+        "bar", "mail_host": "example.com", "moderator_password": null, "next_digest_number":
+        1, "no_reply_address": "noreply@example.com", "owner_address": "bar-owner@example.com",
+        "post_id": 1, "posting_address": "bar@example.com", "posting_pipeline": "default-posting-pipeline",
+        "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+        "bar-request@example.com", "send_welcome_message": true, "subject_prefix":
+        "[Bar] ", "subscription_policy": "confirm", "volume": 1, "welcome_message_uri":
+        ""}'}
+    headers:
+      content-length: ['1789']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/lists/foo@example.com/config
+  response:
+    body: {string: !!python/unicode '{"acceptable_aliases": [], "admin_immed_notify":
+        true, "admin_notify_mchanges": false, "administrivia": true, "advertised":
+        true, "allow_list_posts": true, "anonymous_list": false, "archive_policy":
+        "public", "autorespond_owner": "none", "autorespond_postings": "none", "autorespond_requests":
+        "none", "autoresponse_grace_period": "90d", "autoresponse_owner_text": "",
+        "autoresponse_postings_text": "", "autoresponse_request_text": "", "bounces_address":
+        "foo-bounces@example.com", "collapse_alternatives": true, "convert_html_to_plaintext":
+        false, "created_at": "2005-08-01T07:49:23", "default_member_action": "defer",
+        "default_nonmember_action": "hold", "description": "", "digest_footer_uri":
+        "", "digest_header_uri": "", "digest_last_sent_at": null, "digest_send_periodic":
+        true, "digest_size_threshold": 30.0, "digest_volume_frequency": "monthly",
+        "digests_enabled": true, "display_name": "Foo", "filter_content": false, "first_strip_reply_to":
+        false, "footer_uri": "", "fqdn_listname": "foo@example.com", "goodbye_message_uri":
+        "", "header_uri": "", "http_etag": "\"e752899e2a568ccaad1d891e72c137a4cbc82d5d\"",
+        "include_rfc2369_headers": true, "info": "", "join_address": "foo-join@example.com",
+        "last_post_at": null, "leave_address": "foo-leave@example.com", "list_name":
+        "foo", "mail_host": "example.com", "moderator_password": null, "next_digest_number":
+        1, "no_reply_address": "noreply@example.com", "owner_address": "foo-owner@example.com",
+        "post_id": 1, "posting_address": "foo@example.com", "posting_pipeline": "default-posting-pipeline",
+        "reply_goes_to_list": "no_munging", "reply_to_address": "", "request_address":
+        "foo-request@example.com", "send_welcome_message": true, "subject_prefix":
+        "[Foo] ", "subscription_policy": "confirm", "volume": 1, "welcome_message_uri":
+        ""}'}
+    headers:
+      content-length: ['1789']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/domains
+  response:
+    body: {string: !!python/unicode '{"entries": [{"description": null, "http_etag":
+        "\"d150abd34fabbcef42a2c654bfac81aa04ea4d6f\"", "mail_host": "example.com",
+        "self_link": "http://localhost:9001/3.0/domains/example.com"}], "http_etag":
+        "\"2ec9679269ad1f741705a62db0162f5585ae5c3c\"", "start": 0, "total_size":
+        1}'}
+    headers:
+      content-length: ['277']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'DELETE'
+    uri: http://localhost:9001/3.0/domains/example.com
+  response:
+    body: {string: !!python/unicode ''}
+    headers:
+      content-length: ['0']
+    status: {code: 204, message: No Content}
+- request:
+    body: null
+    headers:
+      accept-encoding: ['gzip, deflate']
+    method: !!python/unicode 'GET'
+    uri: http://localhost:9001/3.0/users
+  response:
+    body: {string: !!python/unicode '{"http_etag": "\"32223434a0f3af4cdc4673d1fbc5bac1f6d98fd3\"",
+        "start": 0, "total_size": 0}'}
+    headers:
+      content-length: ['90']
+      content-type: [application/json; charset=UTF-8]
+    status: {code: 200, message: OK}
+version: 1
diff --git a/src/postorius/tests/mailman_api_tests/test_list_index.py b/src/postorius/tests/mailman_api_tests/test_list_index.py
index 96a3f3e..ca8eb3d 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_index.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_index.py
@@ -39,3 +39,15 @@
         # The lists should be sorted by address
         self.assertEqual([l.fqdn_listname for l in response.context['lists']],
                          ['bar@example.com', 'foo@example.com'])
+
+    def test_list_index_only_contains_advertised_lists(self):
+        # The list index page should contain only contain the advertised lists
+        baz_list = self.domain.create_list('baz')
+        baz_list.settings['advertised'] = False
+        baz_list.settings.save()
+        response = self.client.get(reverse('list_index'))
+        self.assertEqual(response.status_code, 200)
+        self.assertEqual(len(response.context['lists']), 2)
+        self.assertNotIn(
+            'baz.example.com',
+            [ml.list_id for ml in response.context['lists']])
diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py
index faf79e4..fc18a50 100644
--- a/src/postorius/views/list.py
+++ b/src/postorius/views/list.py
@@ -550,25 +550,21 @@
     """
     if request.method == 'POST':
         return redirect("list_summary", list_id=request.POST["list"])
-    lists = []
-    error = None
-    only_public = True
-    if request.user.is_superuser:
-        only_public = False
+
+    def _get_list_page(count, page):
+        client = get_mailman_client()
+        advertised = not request.user.is_superuser
+        return client.get_list_page(
+            advertised=advertised, count=count, page=page)
     try:
-        # FIXME: this is not paginated, all lists will
-        # always be retrieved.
-        lists = sorted(List.objects.all(only_public=only_public),
-                       key=lambda l: l.fqdn_listname)
-        logger.debug(lists)
+        lists = paginate(
+            _get_list_page, request.GET.get('page'), request.GET.get('count'),
+            paginator_class=MailmanPaginator)
     except MailmanApiError:
         return utils.render_api_error(request)
     choosable_domains = _get_choosable_domains(request)
     return render(request, template,
-                  {'error': error,
-                   'lists': paginate(
-                       lists, request.GET.get('page'),
-                       request.GET.get('count', 10)),
+                  {'lists': lists,
                    'domain_count': len(choosable_domains)}) |