diff --git a/reviewboard/webapi/resources/review_request_last_update.py b/reviewboard/webapi/resources/review_request_last_update.py
index 95d8f48ee1f1119d446b5c9082f26d792f8a0a58..b3d7b3412df3dba2dd1b1e681d5a8e91cf46630b 100644
--- a/reviewboard/webapi/resources/review_request_last_update.py
+++ b/reviewboard/webapi/resources/review_request_last_update.py
@@ -90,6 +90,7 @@ class ReviewRequestLastUpdateResource(WebAPIResource):
 
         summary = None
         update_type = None
+        user = None
 
         if isinstance(updated_object, ReviewRequest):
             if updated_object.status == ReviewRequest.SUBMITTED:
@@ -110,6 +111,8 @@ class ReviewRequestLastUpdateResource(WebAPIResource):
             else:
                 summary = _('New review')
                 update_type = 'review'
+
+            user = updated_object.user
         else:
             # Should never be able to happen. The object will always at least
             # be a ReviewRequest.
@@ -117,7 +120,7 @@ class ReviewRequestLastUpdateResource(WebAPIResource):
 
         if changedesc:
             user = changedesc.get_user(review_request)
-        else:
+        elif user is None:
             # There is no changedesc which means this review request hasn't
             # been changed since it was first published, so this change must
             # be due to the original submitter.
diff --git a/reviewboard/webapi/tests/test_review_request_last_update.py b/reviewboard/webapi/tests/test_review_request_last_update.py
index e4184e0309e2c99a0036c673207f06baa907f54c..1805cbb9ec425a5d47fa26635e25f3f089bab80c 100644
--- a/reviewboard/webapi/tests/test_review_request_last_update.py
+++ b/reviewboard/webapi/tests/test_review_request_last_update.py
@@ -166,11 +166,12 @@ class ResourceTests(BaseWebAPITestCase):
 
         if update_review:
             review = self.create_review(review_request=review_request,
+                                        user=user,
                                         publish=False)
             review.publish(user=publish_user)
 
             if update_reply:
-                reply = self.create_reply(review)
+                reply = self.create_reply(review, user=user)
                 reply.publish(user=publish_user)
 
         return (
@@ -300,6 +301,26 @@ class ResourceTests(BaseWebAPITestCase):
         # model, so it will always be the review author.
         self.compare_item(item_rsp, review_request, expected_user=self.user)
 
+    @webapi_test_template
+    def test_get_review_published_not_submitter(self):
+        """Testing the GET <URL> API when a review has been published by
+        an user that is not the submitter
+        """
+        submitter = User.objects.get(username='admin')
+        url, expected_mimetype, review_request = self.setup_basic_get_test(
+            submitter)
+        self.create_review(review_request=review_request,
+                           user=self.user,
+                           publish=True)
+
+        rsp = self.api_get(url, expected_mimetype=expected_mimetype)
+
+        self.assertEqual(rsp['stat'], 'ok')
+        item_rsp = rsp['last_update']
+
+        self.assertEqual(item_rsp['type'], 'review')
+        self.compare_item(item_rsp, review_request, expected_user=self.user)
+
     @webapi_test_template
     def test_get_reply_published(self):
         """Testing the GET <URL> API when a review reply has been published"""
@@ -335,6 +356,27 @@ class ResourceTests(BaseWebAPITestCase):
         # model, so it will always be the review author.
         self.compare_item(item_rsp, review_request, expected_user=self.user)
 
+    @webapi_test_template
+    def test_get_reply_published_not_submitter(self):
+        """Testing the GET <URL> API when a review reply has been published by
+        an user that is not the submitter
+        """
+        submitter = User.objects.get(username='admin')
+        url, expected_mimetype, review_request = self.setup_basic_get_test(
+            submitter)
+        review = self.create_review(review_request=review_request,
+                                    user=self.user,
+                                    publish=True)
+        self.create_reply(review, user=self.user, publish=True)
+
+        rsp = self.api_get(url, expected_mimetype=expected_mimetype)
+
+        self.assertEqual(rsp['stat'], 'ok')
+        item_rsp = rsp['last_update']
+
+        self.assertEqual(item_rsp['type'], 'reply')
+        self.compare_item(item_rsp, review_request, expected_user=self.user)
+
     @webapi_test_template
     def test_get_review_request_updated_review_published_other_user(self):
         """Testing the GET <URL> API when a review request has been updated
