diff --git a/reviewboard/reviews/builtin_fields.py b/reviewboard/reviews/builtin_fields.py
index acd4e31dcabec84a53e19bdf83cabed66af2cf98..b039849fb5f56a808bf139fa02a7112f0566c287 100644
--- a/reviewboard/reviews/builtin_fields.py
+++ b/reviewboard/reviews/builtin_fields.py
@@ -191,9 +191,13 @@ class SubmitterField(BuiltinFieldMixin, BaseReviewRequestField):
     label = _('Submitter')
 
     def render_value(self, user):
-        return ('<a class="user" href="%s">%s</a>'
-                % (escape(user.get_absolute_url()),
-                   escape(user.get_full_name() or user.username)))
+        return format_html(
+            '<a class="user" href="{0}">{1}</a>',
+            local_site_reverse(
+                'user',
+                local_site_name=self.review_request_details.local_site.name,
+                args=[user]),
+            user.get_full_name() or user.username)
 
 
 class RepositoryField(BuiltinFieldMixin, BaseReviewRequestField):
@@ -649,10 +653,14 @@ class TargetPeopleField(BuiltinFieldMixin, BaseModelListEditableField):
         if not user.is_active:
             extra_classes.append('inactive')
 
-        return ('<a href="%s" class="%s">%s</a>'
-                % (escape(user.get_absolute_url()),
-                   ' '.join(extra_classes),
-                   escape(user.username)))
+        return format_html(
+            '<a href="{0}" class="{1}">{2}</a>',
+            local_site_reverse(
+                'user',
+                local_site_name=self.review_request_details.local_site.name,
+                args=[user]),
+            ' '.join(extra_classes),
+            user.username)
 
 
 class MainFieldSet(BaseReviewRequestFieldSet):
diff --git a/reviewboard/templates/accounts/user_infobox.html b/reviewboard/templates/accounts/user_infobox.html
index db3b399dd55c0e1d59a3245b3638eb957d8320d4..0f7090a5b5558a0f14f83f34018966db679e1983 100644
--- a/reviewboard/templates/accounts/user_infobox.html
+++ b/reviewboard/templates/accounts/user_infobox.html
@@ -7,7 +7,7 @@
  </div>
 {% endif %}
  <div class="infobox-text">
-  <h2 class="nickname"><a href="{{requested_user.get_absolute_url}}">{{requested_user}}</a></h2>
+  <h2 class="nickname"><a href="{% url 'user' requested_user %}">{{requested_user}}</a></h2>
 {% if show_profile %}
   <p class="fn">{{requested_user.first_name}} {{requested_user.last_name}}</p>
 {% if request.user.is_authenticated %}
diff --git a/reviewboard/templates/reviews/reviewable_page_data.js b/reviewboard/templates/reviews/reviewable_page_data.js
index 076bf109ed9cca3d330eadfde8ee673ee8fd36de..779c556841ecc57ce7729d54e6b6f225fe8077dd 100644
--- a/reviewboard/templates/reviews/reviewable_page_data.js
+++ b/reviewboard/templates/reviews/reviewable_page_data.js
@@ -27,7 +27,7 @@
 {% for user in review_request_details.target_people.all %}
                 {
                     username: "{{user.username|escapejs}}",
-                    url: "{{user.get_absolute_url}}"
+                    url: "{% url 'user' user %}"
                 }{% if not forloop.last %},{% endif %}
 {% endfor %}{% endspaceless %}],
             testingDone: "{{review_request_details.testing_done|escapejs}}"
