diff --git a/beat/web/common/models.py b/beat/web/common/models.py
index a43a4108343b25a75b0510f73d94d6473d708772..66e680a071844d6d34f3280d3cfd6e300e104701 100644
--- a/beat/web/common/models.py
+++ b/beat/web/common/models.py
@@ -45,6 +45,7 @@ from .signals import shared
 import os
 import re
 import simplejson
+from collections import OrderedDict
 
 
 #----------------------------------------------------------
@@ -635,7 +636,7 @@ def set_declaration(instance, value):
 
 
 def get_declaration(instance):
-    return simplejson.loads(storage.get_file_content(instance, 'declaration_file'))
+    return simplejson.loads(storage.get_file_content(instance, 'declaration_file'), object_pairs_hook=OrderedDict)
 
 
 def get_declaration_string(instance):
diff --git a/beat/web/plotters/templates/plotters/panels/actions.html b/beat/web/plotters/templates/plotters/panels/actions.html
index 6dcaf415d6917da52334c5f21b4e01f6344e3138..3381aea68b35c59c77c95a45b08f917eedcf100a 100644
--- a/beat/web/plotters/templates/plotters/panels/actions.html
+++ b/beat/web/plotters/templates/plotters/panels/actions.html
@@ -23,6 +23,12 @@
 
 <div class="btn-group btn-group-sm action-buttons pull-right">
 
+  {% if display_count %}
+  <!-- Report count, works for all -->
+  {% visible_reports object as reports %}
+  <a class="btn btn-default btn-references" href="{{ object.get_absolute_url }}#reports" data-toggle="tooltip" data-placement="bottom" title="Reports using this plotter"><span class="badge">{{ reports.count }}</span></a>
+  {% endif %}
+
   <!-- Edit, as admin -->
   {% if request.user.is_staff %}
   <a class="btn btn-default btn-edit" href="{% url 'admin:plotters_plotter_change' object.id %}" data-toggle="tooltip" data-placement="bottom" title="Edit as admin"><i class="fa fa-cogs fa-lg"></i></a>
diff --git a/beat/web/plotters/templates/plotters/panels/table.html b/beat/web/plotters/templates/plotters/panels/table.html
index 270291653106d2bbd265604adb47289830a981e3..24a99db884d1aa0d95835f69433fc0d872bb7286 100644
--- a/beat/web/plotters/templates/plotters/panels/table.html
+++ b/beat/web/plotters/templates/plotters/panels/table.html
@@ -68,9 +68,7 @@
             <th class="privacy"></th>
             <th class="date">Updated</th>
             <th>Name</th>
-            {% if request.user.is_staff %}
             <th class="actions">Actions</th>
-            {% endif %}
           </tr>
         </thead>
         <tbody>
@@ -89,11 +87,9 @@
             </td>
             <td class="date">{{ obj.creation_date|date }}</td>
             <td class="name"><a href="{{ obj.get_absolute_url }}" data-toggle="tooltip" data-placement="top" title="Click to view">{{ obj.fullname }}{% if obj.short_description %} <span class='help'>({{ obj.short_description }})</span>{% endif %}</a></td>
-            {% if request.user.is_staff %}
             <td class="actions">
               {% plotter_actions obj True %}
             </td>
-            {% endif %}
           </tr>
           {% endfor %}
         </tbody>
diff --git a/beat/web/plotters/templates/plotters/view.html b/beat/web/plotters/templates/plotters/view.html
index d570e41f79bb456cd972e90d88a36047faea0967..260400e042a0ada3e7317cf4e72aff0b86ad07ed 100644
--- a/beat/web/plotters/templates/plotters/view.html
+++ b/beat/web/plotters/templates/plotters/view.html
@@ -91,7 +91,7 @@
       {% if owner %}
       <li role="presentation"><a href="#sharing" role="tab" data-toggle="tab" aria-controls="sharing">Sharing</a></li>
       {% endif %}
-      <li role="presentation"><a href="#reports" role="tab" data-toggle="tab" aria-controls="reports">Reports<span class="badge">{{ reports.count }}</span></a></li>
+      <li role="presentation"><a href="#reports" role="tab" data-toggle="tab" aria-controls="reports">Reports <span class="badge">{{ reports.count }}</span></a></li>
       <li role="presentation"><a href="#history" role="tab" data-toggle="tab" aria-controls="history">History</a></li>
     </ul>
 
diff --git a/beat/web/plotters/templatetags/plotter_tags.py b/beat/web/plotters/templatetags/plotter_tags.py
index 1cad189f0d179db13e6adf93f79d8c5edad58712..71f9ec97fd16b5f96606641d838aaa97daa622d1 100644
--- a/beat/web/plotters/templatetags/plotter_tags.py
+++ b/beat/web/plotters/templatetags/plotter_tags.py
@@ -30,6 +30,7 @@ import random
 
 from django import template
 from django.conf import settings
+from django.db.models import Q
 
 from ..models import Plotter
 
@@ -144,7 +145,13 @@ def visible_plotters(context):
 def visible_reports(context, object):
     '''Calculates the visible experiments for a given plotter and requestor'''
 
-    return object.reports.for_user(context['request'].user, True)
+    from ...reports.models import Report
+
+    if context['request'].user.is_anonymous():
+        return object.reports.filter(Q(status=Report.PUBLISHED))
+    else:
+        return object.reports.filter(Q(author=context['request'].user) |
+            Q(status=Report.PUBLISHED))
 
 
 #----------------------------------------------------------------
diff --git a/beat/web/ui/templatetags/ui_tags.py b/beat/web/ui/templatetags/ui_tags.py
index 1fd42d26f8a11688e397d5ef109238628766def2..318b2788a89eb4d51c7a7d508c2786fba129c8aa 100644
--- a/beat/web/ui/templatetags/ui_tags.py
+++ b/beat/web/ui/templatetags/ui_tags.py
@@ -58,7 +58,6 @@ def navbar(context):
           (False, ''),
           ('databases', 'databases:list'),
           ('environments', 'backend:list-environments'),
-          (False, ''),
           ('plotters', 'plotters:plotter-public-list'),
           #('plotterparameters', 'plotters:plotterparameter-public-list'),
           ],
@@ -77,7 +76,6 @@ def navbar(context):
           (False, '', False),
           ('databases', 'databases:list', False),
           ('environments', 'backend:list-environments', False),
-          (False, '', False),
           ('plotters', 'plotters:plotter-list', True),
           #('plotterparameters', 'plotters:plotterparameter-list', True),
           ],
@@ -161,11 +159,11 @@ def list_tabs(context, user, tab):
               ('reports', 'reports:' + name),
               ('searches', 'search:' + name),
               ('teams', 'teams:' + name),
-              ('plotters', 'plotters:plotter-' + name),
               ]),
             system_tabs=OrderedDict([
               ('databases', 'databases:list'),
               ('environments', 'backend:list-environments'),
+              ('plotters', 'plotters:plotter-public-list'),
               ]),
             )