diff --git a/ippisite/ippidb/templates/compound_list.html b/ippisite/ippidb/templates/compound_list.html
index 0b8f8099db4da145ffb87ddd926d7f786c26babc..230aeb302906ef09e568476b4cc7d3481a360712 100644
--- a/ippisite/ippidb/templates/compound_list.html
+++ b/ippisite/ippidb/templates/compound_list.html
@@ -34,10 +34,10 @@
 <div class="row flex-xl-nowrap">
   <div class="col-12 col-md-3 col-xl-2 bd-sidebar">
 <form>
-  {% include "multiselection_list_menu.html" with label="PPI" selected_list=selected_ppis unselected_list=ppis param_name="ppi" limit_param_name="ppis_limit" limit_param_value=ppis_limit %}
-  {% include "multiselection_list_menu.html" with label="Disease" selected_list=selected_diseases unselected_list=diseases param_name="disease" limit_param_name="diseases_limit" limit_param_value=diseases_limit %}
-  {% include "multiselection_list_menu.html" with label="Organism" selected_list=selected_taxonomies unselected_list=taxonomies param_name="taxonomy" limit_param_name="taxonomies_limit" limit_param_value=taxonomies_limit %}
-  {% include "multiselection_list_menu.html" with label="Bound complex" selected_list=selected_boundcomplexes unselected_list=boundcomplexes param_name="boundcomplex" limit_param_name="boundcomplexes_limit" limit_param_value=boundcomplexes_limit %}
+  {% include "multiselection_list_menu.html" with label="PPI" selected_list=selected_ppis unselected_list=ppis param_name="ppi" all_param_name="ppis_all" all_param_value=ppis_all %}
+  {% include "multiselection_list_menu.html" with label="Disease" selected_list=selected_diseases unselected_list=diseases param_name="disease" all_param_name="diseases_all" all_param_value=diseases_all %}
+  {% include "multiselection_list_menu.html" with label="Organism" selected_list=selected_taxonomies unselected_list=taxonomies param_name="taxonomy" all_param_name="taxonomies_all" all_param_value=taxonomies_all %}
+  {% include "multiselection_list_menu.html" with label="Bound complex" selected_list=selected_boundcomplexes unselected_list=boundcomplexes param_name="boundcomplex" all_param_name="boundcomplexes_all" all_param_value=boundcomplexes_all %}
 </form>
 </div>
 <main class="col-12 col-md-9 col-xl-10 pl-md-5 bd-content" role="main">
diff --git a/ippisite/ippidb/templates/multiselection_list_menu.html b/ippisite/ippidb/templates/multiselection_list_menu.html
index 9cc39d02351bfc8d794d1b356b2f0b2aae3b1c00..7f5f77fa259aa1b5d7bd30d07b849bf53147f4de 100644
--- a/ippisite/ippidb/templates/multiselection_list_menu.html
+++ b/ippisite/ippidb/templates/multiselection_list_menu.html
@@ -1,12 +1,12 @@
   <fieldset class="form-group row border border-info m-2">
     <div class="bg-info col-12">
         <legend>{{ label }}
-            {% if limit_param_value %}
-              <a href="#" class="float-right text-light" title="Display all {{ label }}s" onclick="modifyUrl('{{ limit_param_name }}',null);">[+]</a>
-              <input type="hidden" name="{{ limit_param_name }}" value="{{ limit_param_value }}" />
+            {% if not all_param_value %}
+              <a href="#" class="float-right text-light" title="Display all {{ label }}s" onclick="modifyUrl('{{ all_param_name }}',true);">[+]</a>
+              <input type="hidden" name="{{ all_param_name }}" value="{{ all_param_value }}" />
             {% endif %}
-            {% if not limit_param_value %}
-              <a href="#" class="float-right text-light" title="Show only top 5 {{ label }}s" onclick="modifyUrl('{{ limit_param_name }}',5);">[-]</a>
+            {% if all_param_value %}
+              <a href="#" class="float-right text-light" title="Show only top 5 {{ label }}s" onclick="modifyUrl('{{ all_param_name }}',null);">[-]</a>
             {% endif %}
         </legend>
     </div>
diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py
index 0fd62450af8ea16743320b3f22931d9450613def..f31daedb174827ceea304ec5a1f697b4915084a8 100644
--- a/ippisite/ippidb/views.py
+++ b/ippisite/ippidb/views.py
@@ -199,38 +199,26 @@ def compound_list(request):
         compounds = compounds.filter(compoundaction__ppi_id__ppicomplex__complex__protein__organism__id__in=request.GET.getlist('taxonomy'))
     if request.GET.get('boundcomplexes'):
         compounds = compounds.filter(compoundaction__ppi_id__ppicomplex__complex__id__in=request.GET.getlist('boundcomplex'))
-    try:
-        ppis_limit = int(request.GET.get('ppis_limit'))
-    except:
-        ppis_limit = None
-    try:
-        diseases_limit = int(request.GET.get('diseases_limit'))
-    except:
-        diseases_limit = None
-    try:
-        taxonomies_limit = int(request.GET.get('taxonomies_limit'))
-    except:
-        taxonomies_limit = None
-    try:
-        boundcomplexes_limit = int(request.GET.get('boundcomplexes_limit'))
-    except:
-        boundcomplexes_limit = None
+    ppis_all = request.GET.get('ppis_all', None)
+    diseases_all = request.GET.get('diseases_all', None)
+    taxonomies_all = request.GET.get('taxonomies_all', None)
+    boundcomplexes_all = request.GET.get('boundcomplexes_all', None)
     selected_ppis = Ppi.objects.filter(id__in=request.GET.getlist('ppi'))
     ppis = Ppi.objects.exclude(id__in=request.GET.getlist('ppi'))
-    if ppis_limit is not None:
-        ppis = ppis[:ppis_limit]
+    if ppis_all is None:
+        ppis = ppis[:5]
     selected_diseases = Disease.objects.filter(id__in=request.GET.getlist('disease'))
     diseases = Disease.objects.exclude(id__in=request.GET.getlist('disease'))
-    if diseases_limit is not None:
-        diseases = diseases[:diseases_limit]
+    if diseases_all is None:
+        diseases = diseases[:5]
     selected_taxonomies = Taxonomy.objects.filter(id__in=request.GET.getlist('taxonomy'))
     taxonomies = Taxonomy.objects.exclude(id__in=request.GET.getlist('taxonomy'))
-    if taxonomies_limit is not None:
-        taxonomies = taxonomies[:taxonomies_limit]
+    if taxonomies_all is None:
+        taxonomies = taxonomies[:5]
     selected_boundcomplexes = ProteinDomainBoundComplex.objects.filter(id__in=request.GET.getlist('boundcomplex'))
     boundcomplexes = ProteinDomainBoundComplex.objects.exclude(id__in=request.GET.getlist('boundcomplex'))
-    if boundcomplexes_limit is not None:
-        boundcomplexes = boundcomplexes[:boundcomplexes_limit]
+    if boundcomplexes_all is None:
+        boundcomplexes = boundcomplexes[:5]
     # handle pagination in compounds list
     paginator = Paginator(compounds, 5)
     page = request.GET.get('page')
@@ -245,16 +233,16 @@ def compound_list(request):
     return render(request, 'compound_list.html', {'compounds': compounds, 
                                                   'selected_ppis': selected_ppis,
                                                   'ppis': ppis,
-                                                  'ppis_limit': ppis_limit,
+                                                  'ppis_all': ppis_all,
                                                   'selected_diseases': selected_diseases,
                                                   'diseases': diseases,
-                                                  'diseases_limit': diseases_limit,
+                                                  'diseases_all': diseases_all,
                                                   'selected_taxonomies': selected_taxonomies,
                                                   'taxonomies': taxonomies,
-                                                  'taxonomies_limit': taxonomies_limit,
+                                                  'taxonomies_all': taxonomies_all,
                                                   'selected_boundcomplexes': selected_boundcomplexes,
                                                   'boundcomplexes': boundcomplexes,
-                                                  'boundcomplexes_limit': boundcomplexes_limit
+                                                  'boundcomplexes_all': boundcomplexes_all
                                                 })
 
 def compound_card(request, compound_id):