diff --git a/opentech/apply/funds/forms.py b/opentech/apply/funds/forms.py
index 28a3ba59dad2b0f2cb5a795b3d3d310f67da4bf2..ee2d2e838db62c782cfcff35fee89b37c3edc869 100644
--- a/opentech/apply/funds/forms.py
+++ b/opentech/apply/funds/forms.py
@@ -186,8 +186,7 @@ class UpdateReviewersForm(forms.ModelForm):
                                 role=None,
                                 reviewer=existing_reviewer,
                             )
-                        existing.first().reviewer = reviewer
-                        existing.first().save()
+                        existing.update(reviewer=reviewer)
                 else:
                     AssignedReviewers.objects.create(
                         submission=instance,
diff --git a/opentech/apply/funds/tests/test_views.py b/opentech/apply/funds/tests/test_views.py
index 745aab5cedc6d473ccf287ccecb9c93817510165..d107451b8377cb338382ba4ef8cb2165b1b3d6c4 100644
--- a/opentech/apply/funds/tests/test_views.py
+++ b/opentech/apply/funds/tests/test_views.py
@@ -230,9 +230,10 @@ class TestReviewersUpdateView(BaseSubmissionViewTestCase):
         AssignedWithRoleReviewersFactory(role=self.roles[0], submission=submission, reviewer=self.staff[0])
         self.assertCountEqual(submission.reviewers.all(), [self.staff[0]])
 
-        self.post_form(submission, [self.staff[1]])
+        self.post_form(submission, reviewer_roles=[self.staff[1]])
 
         self.assertCountEqual(submission.reviewers.all(), [self.staff[1]])
+        self.assertEqual(submission.assigned.with_roles().first().reviewer, self.staff[1])
 
     def test_lead_cant_add_reviewers_single(self):
         submission = ApplicationSubmissionFactory(lead=self.user)