diff --git a/stats/templates/stats/statistics.html b/stats/templates/stats/statistics.html
index 7d77e918c80fbfb2e9fe6372258c75919b0c8870..ac74381c7a69bce30ad7e30fd6838de7c283205b 100644
--- a/stats/templates/stats/statistics.html
+++ b/stats/templates/stats/statistics.html
@@ -19,7 +19,7 @@
 <h2>Aggregate statistics</h2>
 <p>For each Journal, clicking on a year gives aggregate statistics for submissions (so including rejections). Clicking on a Journal/Volume/Issue gives aggregates for publications in this object.</p>
 <ul>
-  {% for journal in journals %}
+  {% for journal in journals|dictsort:"doi_label" %}
   <li><a href="{% url 'stats:statistics' journal_doi_label=journal.doi_label %}">{{ journal }}</a></li>
   <ul>
   {% for year in journal|journal_publication_years %}
@@ -27,10 +27,10 @@
   {% endfor %}
   </ul>
   <ul>
-{% for volume in journal.volume_set.all %}
+{% for volume in journal.volume_set.all|dictsort:"number" %}
 <li><a href="{% url 'stats:statistics' journal_doi_label=journal.doi_label volume_nr=volume.number %}">{{ volume }}</a></li>
 <ul>
-  {% for issue in volume.issue_set.all %}
+  {% for issue in volume.issue_set.all|dictsort:"number" %}
   <li><a href="{% url 'stats:statistics' journal_doi_label=journal.doi_label volume_nr=volume.number issue_nr=issue.number %}">{{ issue }}</a></li>
   {% endfor %}
 </ul>
diff --git a/stats/templatetags/stats_extras.py b/stats/templatetags/stats_extras.py
index c9a12f357305de504c323dc4c556b5cf9079ecd8..9c5c6e636f86716021b322f4c66afe2090b2a294 100644
--- a/stats/templatetags/stats_extras.py
+++ b/stats/templatetags/stats_extras.py
@@ -13,7 +13,8 @@ register = template.Library()
 def submissions_count_distinct(submissions):
     identifiers_wo_vn_nr = []
     for submission in submissions:
-        identifiers_wo_vn_nr.append(submission.arxiv_identifier_wo_vn_nr)
+        if submission.arxiv_identifier_wo_vn_nr not in identifiers_wo_vn_nr:
+            identifiers_wo_vn_nr.append(submission.arxiv_identifier_wo_vn_nr)
     return len(identifiers_wo_vn_nr)
 
 
@@ -23,12 +24,14 @@ def journal_publication_years(journal):
     for volume in journal.volume_set.all():
         if volume.until_date.year not in years:
             years.append(volume.until_date.year)
-    return years
+    return sorted(years)
+
 
 @register.filter(name='journal_nr_publications')
 def journal_nr_publications(journal):
     return Publication.objects.filter(in_issue__in_volume__in_journal=journal).count()
 
+
 @register.filter(name='journal_avg_processing_duration')
 def journal_avg_processing_duration(journal):
     duration = Publication.objects.filter(
@@ -37,10 +40,12 @@ def journal_avg_processing_duration(journal):
     if not duration: return 0
     return duration.days + duration.seconds/86400
 
+
 @register.filter(name='volume_nr_publications')
 def volume_nr_publications(volume):
     return Publication.objects.filter(in_issue__in_volume=volume).count()
 
+
 @register.filter(name='volume_avg_processing_duration')
 def volume_avg_processing_duration(volume):
     duration = Publication.objects.filter(
@@ -49,10 +54,12 @@ def volume_avg_processing_duration(volume):
     if not duration: return 0
     return duration.days + duration.seconds/86400
 
+
 @register.filter(name='issue_nr_publications')
 def issue_nr_publications(issue):
     return Publication.objects.filter(in_issue=issue).count()
 
+
 @register.filter(name='issue_avg_processing_duration')
 def issue_avg_processing_duration(issue):
     duration = Publication.objects.filter(
diff --git a/stats/views.py b/stats/views.py
index 64a0112721c1aea93a9f2b1b428a421af0a2b05b..c698a79844ef77a55394583ec9d8e29b87ebbe7c 100644
--- a/stats/views.py
+++ b/stats/views.py
@@ -18,7 +18,7 @@ def statistics(request, journal_doi_label=None, volume_nr=None, issue_nr=None, y
             context['year'] = year
             submissions = Submission.objects.filter(
                 submitted_to_journal=journal,
-                submission_date__year=year,
+                submission_date__year=int(year),
             )
             context['submissions'] = submissions
         if volume_nr: