diff --git a/submissions/models.py b/submissions/models.py
index 8ca56af4a8d1d553d10b49041712a5eee45a5a53..7aea9adab2567057eb7c7753c025fa62f2e26c4b 100644
--- a/submissions/models.py
+++ b/submissions/models.py
@@ -634,7 +634,7 @@ class Report(models.Model):
     # -3: rejected (not useful)
     # -4: rejected (not academic in style)
     status = models.SmallIntegerField(default=0)
-    submission = models.ForeignKey(Submission, on_delete=models.CASCADE)
+    submission = models.ForeignKey(Submission, related_name='reports', on_delete=models.CASCADE)
     vetted_by = models.ForeignKey(Contributor, related_name="report_vetted_by",
                                   blank=True, null=True, on_delete=models.CASCADE)
     # `invited' filled from RefereeInvitation objects at moment of report submission
diff --git a/submissions/templatetags/submissions_extras.py b/submissions/templatetags/submissions_extras.py
index 7460a3c30745b62cf6f7ce4f29aff1f7bc5ab83b..b2b785c0357b7be546be77fe2a3eb0d1761022da 100644
--- a/submissions/templatetags/submissions_extras.py
+++ b/submissions/templatetags/submissions_extras.py
@@ -73,7 +73,7 @@ def required_actions(submission):
         todo.append('The refereeing deadline has passed. Please either extend it, '
                     'or formulate your Editorial Recommendation if at least '
                     'one Report has been received.')
-    reports = submission.report_set.all()
+    reports = submission.reports.all()
     for report in reports:
         if report.status == 0:
             todo.append('The Report from %s has been delivered but is not yet vetted. '
diff --git a/submissions/views.py b/submissions/views.py
index 2681da5f9dfafd7d11f42ee3bb6f18a085af8dc5..f80cfbf1090c6ce373e95956336875b73d681f4b 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -271,7 +271,10 @@ def submission_detail_wo_vn_nr(request, arxiv_identifier_wo_vn_nr):
 
 
 def submission_detail(request, arxiv_identifier_w_vn_nr):
-    submission = get_object_or_404(Submission, arxiv_identifier_w_vn_nr=arxiv_identifier_w_vn_nr)
+    submission = Submission.objects.select_related(
+                    'editor_in_charge', 'publication__in_issue__in_volume__in_journal'
+                    ).prefetch_related('authors').get(
+                    arxiv_identifier_w_vn_nr=arxiv_identifier_w_vn_nr)
     try:
         is_author = request.user.contributor in submission.authors.all()
     except AttributeError:
@@ -288,7 +291,7 @@ def submission_detail(request, arxiv_identifier_w_vn_nr):
 
     form = CommentForm()
 
-    reports = submission.report_set.all()
+    reports = submission.reports.prefetch_related('reports')
     try:
         author_replies = Comment.objects.filter(submission=submission,
                                                 is_author_reply=True,