diff --git a/hypha/apply/funds/tests/test_views.py b/hypha/apply/funds/tests/test_views.py
index 8a4609ce1b08a3cb1793fb638c3e299bb84392d5..9129921db332eebc858a74708a935a7b7a89c594 100644
--- a/hypha/apply/funds/tests/test_views.py
+++ b/hypha/apply/funds/tests/test_views.py
@@ -26,6 +26,7 @@ from hypha.apply.funds.tests.factories import (
     SealedSubmissionFactory,
 )
 from hypha.apply.funds.workflow import INITIAL_STATE
+from hypha.apply.home.factories import ApplySiteFactory
 from hypha.apply.projects.models import Project
 from hypha.apply.projects.tests.factories import ProjectFactory
 from hypha.apply.review.tests.factories import ReviewFactory
@@ -40,7 +41,7 @@ from hypha.apply.users.tests.factories import (
 from hypha.apply.utils.testing import make_request
 from hypha.apply.utils.testing.tests import BaseViewTestCase
 
-from ..models import ApplicationRevision, ApplicationSubmission
+from ..models import ApplicationRevision, ApplicationSubmission, ReviewerSettings
 from ..views import SubmissionDetailSimplifiedView, SubmissionDetailView
 from .factories import CustomFormFieldsFactory
 
@@ -369,7 +370,6 @@ class TestStaffSubmissionView(BaseSubmissionViewTestCase):
 
         submission = ApplicationSubmissionFactory()
         reviewer_role = ReviewerRoleFactory()
-
         # Phase: received / in_discussion
         # Assign reviewers should not be displayed
         assert_assign_reviewers_not_displayed(submission)
@@ -592,6 +592,10 @@ class TestReviewerSubmissionView(BaseSubmissionViewTestCase):
         super().setUpTestData()
         cls.applicant = ApplicantFactory()
         cls.reviewer_role = ReviewerRoleFactory()
+        apply_site = ApplySiteFactory()
+        reviewer_settings, _ = ReviewerSettings.objects.get_or_create(site_id=apply_site.id)
+        reviewer_settings.use_settings = True
+        reviewer_settings.save()
 
     def test_cant_see_add_determination_primary_action(self):
         def assert_add_determination_not_displayed(submission, button_text):
@@ -672,6 +676,7 @@ class TestReviewerSubmissionView(BaseSubmissionViewTestCase):
     def test_cant_see_assign_reviewers_primary_action(self):
         submission = ApplicationSubmissionFactory(status='internal_review', user=self.applicant, reviewers=[self.user])
         response = self.get_page(submission)
+
         buttons = BeautifulSoup(response.content, 'html5lib').find(class_='sidebar').find_all('a', class_='button--primary', text='Assign reviewers')
         self.assertEqual(len(buttons), 0)
 
diff --git a/hypha/apply/funds/views.py b/hypha/apply/funds/views.py
index 9317214e53ea382c6c06dcdf93ca4145d7ca1dad..0358d7cead74096a058ad44631090b85b694987a 100644
--- a/hypha/apply/funds/views.py
+++ b/hypha/apply/funds/views.py
@@ -774,6 +774,18 @@ class ReviewerSubmissionDetailView(ReviewContextMixin, ActivityContextMixin, Del
             return ApplicantSubmissionDetailView.as_view()(request, *args, **kwargs)
         if submission.status == DRAFT_STATE:
             raise Http404
+
+        reviewer_settings = ReviewerSettings.for_request(request)
+        if reviewer_settings.use_settings:
+            queryset = ApplicationSubmission.objects.for_reviewer_settings(
+                request.user, reviewer_settings
+            )
+        else:
+            queryset = ApplicationSubmission.objects.reviewed_by(request.user)
+
+        # Reviewer can't view submission which is not listed in ReviewerSubmissionsTable
+        if not queryset.filter(id=submission.id).exists():
+            raise PermissionDenied
         return super().dispatch(request, *args, **kwargs)