diff --git a/opentech/apply/review/models.py b/opentech/apply/review/models.py
index 5e4c2bd9b364abdec54604fe30789183860f6ef4..1c3f4bac4483bf065eb2b45f8eaea2b53b1b5339 100644
--- a/opentech/apply/review/models.py
+++ b/opentech/apply/review/models.py
@@ -107,6 +107,9 @@ class ReviewQuerySet(models.QuerySet):
         else:
             return MAYBE
 
+    def opinions(self):
+        return ReviewOpinion.objects.filter(review__id__in=self.values_list('id'))
+
 
 class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model):
     submission = models.ForeignKey('funds.ApplicationSubmission', on_delete=models.CASCADE, related_name='reviews')
diff --git a/opentech/apply/review/views.py b/opentech/apply/review/views.py
index 6ba083979c598d30e95ffc776eb4e6306f80a672..58a2ef3d34c6c915c38df9d096b42c946c0da670 100644
--- a/opentech/apply/review/views.py
+++ b/opentech/apply/review/views.py
@@ -33,8 +33,7 @@ class ReviewContextMixin:
             reviews_dict[review.author.pk] = review
 
         # Get all the authors of opinions, these authors should not show up in the 'xxx_not_reviewed' lists
-        opinion_authors = set(User.objects.filter(
-            pk__in=ReviewOpinion.objects.filter(review__submission=self.object).values('author__pk')))
+        opinion_authors = User.objects.filter(pk__in=self.object.reviews.opinions().values('author')).distinct()
 
         reviews_block = defaultdict(list)
         for assigned_reviewer in assigned: