diff --git a/src/applications/differential/field/specification/lint/DifferentialLintFieldSpecification.php b/src/applications/differential/field/specification/lint/DifferentialLintFieldSpecification.php
index 88b102304a..3935556422 100644
--- a/src/applications/differential/field/specification/lint/DifferentialLintFieldSpecification.php
+++ b/src/applications/differential/field/specification/lint/DifferentialLintFieldSpecification.php
@@ -1,92 +1,94 @@
 <?php
 
 /*
  * Copyright 2012 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 final class DifferentialLintFieldSpecification
   extends DifferentialFieldSpecification {
 
   public function shouldAppearOnRevisionView() {
     return true;
   }
 
   public function renderLabelForRevisionView() {
     return 'Lint:';
   }
 
   public function getRequiredDiffProperties() {
     return array('arc:lint');
   }
 
   public function renderValueForRevisionView() {
     $diff = $this->getDiff();
     $path_changesets = mpull($diff->loadChangesets(), 'getId', 'getFileName');
 
     $lstar = DifferentialRevisionUpdateHistoryView::renderDiffLintStar($diff);
     $lmsg = DifferentialRevisionUpdateHistoryView::getDiffLintMessage($diff);
     $ldata = $this->getDiffProperty('arc:lint');
     $ltail = null;
     if ($ldata) {
       $ldata = igroup($ldata, 'path');
       $lint_messages = array();
       foreach ($ldata as $path => $messages) {
         $message_markup = array();
         foreach ($messages as $message) {
           $path = idx($message, 'path');
           $line = idx($message, 'line');
 
           $code = idx($message, 'code');
           $severity = idx($message, 'severity');
 
           $name = idx($message, 'name');
           $description = idx($message, 'description');
 
           $line_link = phutil_escape_html($line);
           if (isset($path_changesets[$path])) {
-            $href = '#C'.$path_changesets[$path].'NL'.$line;
-            $line_link = '<a href="'.phutil_escape_html($href).'">'.
-              $line_link.
-              '</a>';
+            $line_link = phutil_render_tag(
+              'a',
+              array(
+                'href' => '#C'.$path_changesets[$path].'NL'.$line,
+              ),
+              $line_link);
           }
           $message_markup[] =
             '<li>'.
               '<span class="lint-severity-'.phutil_escape_html($severity).'">'.
                 phutil_escape_html(ucwords($severity)).
               '</span>'.
               ' '.
               '('.phutil_escape_html($code).') '.
               phutil_escape_html($name).
               ' at line '.$line_link.
               '<p>'.phutil_escape_html($description).'</p>'.
             '</li>';
         }
         $lint_messages[] =
           '<li class="lint-file-block">'.
             'Lint for <strong>'.phutil_escape_html($path).'</strong>'.
             '<ul>'.implode("\n", $message_markup).'</ul>'.
           '</li>';
       }
       $ltail =
         '<div class="differential-lint-block">'.
           '<ul>'.
             implode("\n", $lint_messages).
           '</ul>'.
         '</div>';
     }
 
     return $lstar.' '.$lmsg.$ltail;
   }
 }