diff --git a/opentech/apply/review/tests/test_views.py b/opentech/apply/review/tests/test_views.py
index 8d0c1fe20f3131fc0158bfd151c40401e659555d..c59daab4810cc07a9a2a1bd31912673779afa3e4 100644
--- a/opentech/apply/review/tests/test_views.py
+++ b/opentech/apply/review/tests/test_views.py
@@ -7,7 +7,7 @@ from opentech.apply.utils.testing.tests import BaseViewTestCase
 
 from .factories import ReviewFactory, ReviewFormFieldsFactory, ReviewFormFactory, ReviewOpinionFactory
 from ..models import Review, ReviewOpinion
-from ..options import NA, AGREE
+from ..options import NA, AGREE, DISAGREE
 
 
 class StaffReviewsTestCase(BaseViewTestCase):
@@ -263,10 +263,19 @@ class StaffReviewOpinionCase(BaseViewTestCase):
     def test_can_add_opinion_to_others_review(self):
         staff = StaffFactory()
         review = ReviewFactory(submission=self.submission, author=staff, recommendation_yes=True)
-        self.post_page(review, {'agree': AGREE})
+        response = self.post_page(review, {'agree': AGREE})
         self.assertTrue(review.opinions.first().opinion_display in Activity.objects.first().message)
         self.assertEqual(ReviewOpinion.objects.all().count(), 1)
         self.assertEqual(ReviewOpinion.objects.first().opinion, AGREE)
+        url = self.url_from_pattern('apply:submissions:reviews:review', kwargs={'submission_pk': self.submission.pk, 'pk': review.id})
+        self.assertRedirects(response, url)
+
+    def test_disagree_opinion_redirects_to_review_form(self):
+        staff = StaffFactory()
+        review = ReviewFactory(submission=self.submission, author=staff, recommendation_yes=True)
+        response = self.post_page(review, {'disagree': DISAGREE})
+        url = self.url_from_pattern('funds:submissions:reviews:form', kwargs={'submission_pk': self.submission.id})
+        self.assertRedirects(response, url)
 
 
 class NonStaffReviewOpinionCase(BaseViewTestCase):
diff --git a/opentech/apply/review/views.py b/opentech/apply/review/views.py
index 09752f6aee1a8d8d3f95ee6efcae9e74e5c4a857..03da640b2dc085db013a6a6062fa28b5dd6d2dff 100644
--- a/opentech/apply/review/views.py
+++ b/opentech/apply/review/views.py
@@ -21,6 +21,7 @@ from opentech.apply.users.models import User
 from opentech.apply.utils.views import CreateOrUpdateView
 
 from .models import Review
+from .options import DISAGREE
 
 
 class ReviewContextMixin:
@@ -191,15 +192,20 @@ class ReviewOpinionFormView(CreateView):
         form.instance.author = self.request.user
         form.instance.review = self.review
         response = super().form_valid(form)
+        opinion = form.instance
 
         messenger(
             MESSAGES.REVIEW_OPINION,
             request=self.request,
             user=self.request.user,
             submission=self.review.submission,
-            related=form.instance,
+            related=opinion,
         )
-        return response
+
+        if opinion.opinion == DISAGREE:
+            return HttpResponseRedirect(reverse_lazy('apply:submissions:reviews:form', args=(self.review.submission.pk,)))
+        else:
+            return response
 
     def get_success_url(self):
         return self.review.get_absolute_url()