diff --git a/src/applications/differential/view/revisioncomment/DifferentialRevisionCommentView.php b/src/applications/differential/view/revisioncomment/DifferentialRevisionCommentView.php
index 723322fc5b..74c7a853c6 100644
--- a/src/applications/differential/view/revisioncomment/DifferentialRevisionCommentView.php
+++ b/src/applications/differential/view/revisioncomment/DifferentialRevisionCommentView.php
@@ -1,290 +1,292 @@
 <?php
 
 /*
  * Copyright 2011 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 DifferentialRevisionCommentView extends AphrontView {
 
   private $comment;
   private $handles;
   private $markupEngine;
   private $preview;
   private $inlines;
   private $changesets;
   private $target;
   private $commentNumber;
   private $user;
 
   public function setComment($comment) {
     $this->comment = $comment;
     return $this;
   }
 
   public function setHandles(array $handles) {
     $this->handles = $handles;
     return $this;
   }
 
   public function setMarkupEngine($markup_engine) {
     $this->markupEngine = $markup_engine;
     return $this;
   }
 
   public function setPreview($preview) {
     $this->preview = $preview;
     return $this;
   }
 
   public function setInlineComments(array $inline_comments) {
     $this->inlines = $inline_comments;
     return $this;
   }
 
   public function setChangesets(array $changesets) {
     // Ship these in sorted by getSortKey() and keyed by ID... or else!
     $this->changesets = $changesets;
     return $this;
   }
 
   public function setTargetDiff($target) {
     $this->target = $target;
   }
 
   public function setCommentNumber($comment_number) {
     $this->commentNumber = $comment_number;
     return $this;
   }
 
   public function setUser(PhabricatorUser $user) {
     $this->user = $user;
     return $this;
   }
 
   public function render() {
 
     if (!$this->user) {
       throw new Exception("Call setUser() before rendering!");
     }
 
     require_celerity_resource('phabricator-remarkup-css');
     require_celerity_resource('differential-revision-comment-css');
 
     $comment = $this->comment;
 
     $action = $comment->getAction();
 
     $action_class = 'differential-comment-action-'.phutil_escape_html($action);
 
     if ($this->preview) {
       $date = 'COMMENT PREVIEW';
     } else {
       $date = phabricator_datetime($comment->getDateCreated(), $this->user);
     }
 
     $info = array($date);
 
     $comment_anchor = null;
     $num = $this->commentNumber;
     if ($num && !$this->preview) {
       Javelin::initBehavior('phabricator-watch-anchor');
       $info[] = phutil_render_tag(
         'a',
         array(
           'name' => 'comment-'.$num,
           'href' => '#comment-'.$num,
         ),
         'Comment D'.$comment->getRevisionID().'#'.$num);
       $comment_anchor = 'anchor-comment-'.$num;
     }
 
     $info = implode(' &middot; ', $info);
 
     $author = $this->handles[$comment->getAuthorPHID()];
     $author_link = $author->renderLink();
 
     $verb = DifferentialAction::getActionPastTenseVerb($comment->getAction());
     $verb = phutil_escape_html($verb);
 
     $content = $comment->getContent();
     $head_content = null;
     if (strlen(rtrim($content))) {
       $title = "{$author_link} {$verb} this revision:";
       $cache = $comment->getCache();
       if (strlen($cache)) {
         $content = $cache;
       } else {
         $content = $this->markupEngine->markupText($content);
         if ($comment->getID()) {
           $comment->setCache($content);
 
           $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites();
           $comment->save();
           unset($unguarded);
         }
       }
       $content =
         '<div class="phabricator-remarkup">'.
           $content.
         '</div>';
     } else {
       $title = null;
       $head_content =
         '<div class="differential-comment-nocontent">'.
           "<p>{$author_link} {$verb} this revision.</p>".
         '</div>';
       $content = null;
     }
 
     if ($this->inlines) {
       $inline_render = array();
       $inlines = $this->inlines;
       $changesets = $this->changesets;
       $inlines_by_changeset = mgroup($inlines, 'getChangesetID');
       $inlines_by_changeset = array_select_keys(
         $inlines_by_changeset,
         array_keys($this->changesets));
       $inline_render[] = '<table class="differential-inline-summary">';
       foreach ($inlines_by_changeset as $changeset_id => $inlines) {
         $changeset = $changesets[$changeset_id];
         $inlines = msort($inlines, 'getLineNumber');
         $inline_render[] =
           '<tr>'.
             '<th colspan="2">'.
               phutil_escape_html($changeset->getFileName()).
             '</th>'.
           '</tr>';
         foreach ($inlines as $inline) {
           if (!$inline->getLineLength()) {
             $lines = $inline->getLineNumber();
           } else {
             $lines = $inline->getLineNumber()."\xE2\x80\x93".
                      ($inline->getLineNumber() + $inline->getLineLength());
           }
 
           if (!$this->target ||
               $changeset->getDiffID() === $this->target->getID()) {
             $lines = phutil_render_tag(
               'a',
               array(
                 'href' => '#inline-'.$inline->getID(),
                 'class' => 'num',
               ),
               $lines);
           }
 
           $inline_content = $inline->getContent();
           if (strlen($inline_content)) {
             $inline_cache = $inline->getCache();
             if ($inline_cache) {
               $inline_content = $inline_cache;
             } else {
               $inline_content = $this->markupEngine->markupText(
                 $inline_content);
               if ($inline->getID()) {
                 $inline->setCache($inline_content);
+                $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites();
                 $inline->save();
+                unset($unguarded);
               }
             }
           }
 
           $inline_render[] =
             '<tr>'.
               '<td class="inline-line-number">'.$lines.'</td>'.
               '<td>'.
                 '<div class="phabricator-remarkup">'.
                   $inline_content.
                 '</div>'.
               '</td>'.
             '</tr>';
         }
       }
       $inline_render[] = '</table>';
       $inline_render = implode("\n", $inline_render);
       $inline_render =
         '<div class="differential-inline-summary-section">'.
           'Inline Comments'.
         '</div>'.
         $inline_render;
     } else {
       $inline_render = null;
     }
 
     $background = null;
     $uri = $author->getImageURI();
     if ($uri) {
       $background = "background-image: url('{$uri}');";
     }
 
     $metadata_blocks = array();
     $metadata = $comment->getMetadata();
     $added_reviewers = idx(
       $metadata,
       DifferentialComment::METADATA_ADDED_REVIEWERS);
     if ($added_reviewers) {
       $reviewers = 'Added reviewers: '.$this->renderHandleList(
         $added_reviewers);
       $metadata_blocks[] = $reviewers;
     }
 
     $added_ccs = idx(
       $metadata,
       DifferentialComment::METADATA_ADDED_CCS);
     if ($added_ccs) {
       $ccs = 'Added CCs: '.$this->renderHandleList($added_ccs);
       $metadata_blocks[] = $ccs;
     }
 
     if ($metadata_blocks) {
       $metadata_blocks =
         '<div class="differential-comment-metadata">'.
           implode("\n", $metadata_blocks).
         '</div>';
     } else {
       $metadata_blocks = null;
     }
 
     return phutil_render_tag(
       'div',
       array(
         'class' => "differential-comment {$action_class}",
         'id'    => $comment_anchor,
       ),
       '<div class="differential-comment-head">'.
         '<span class="differential-comment-info">'.$info.'</span>'.
         '<span class="differential-comment-title">'.$title.'</span>'.
         '<div style="clear: both;"></div>'.
       '</div>'.
       '<div class="differential-comment-body" style="'.$background.'">'.
         '<div class="differential-comment-content">'.
           $head_content.
           $metadata_blocks.
           '<div class="differential-comment-core">'.
             $content.
           '</div>'.
           $inline_render.
         '</div>'.
       '</div>');
   }
 
   private function renderHandleList(array $phids) {
     $result = array();
     foreach ($phids as $phid) {
       $result[] = $this->handles[$phid]->renderLink();
     }
     return implode(', ', $result);
   }
 
 }