Index: src/applications/differential/controller/DifferentialRevisionViewController.php
===================================================================
--- src/applications/differential/controller/DifferentialRevisionViewController.php
+++ src/applications/differential/controller/DifferentialRevisionViewController.php
@@ -903,9 +903,6 @@
       ->needComments(true)
       ->execute();
 
-    $engine = id(new PhabricatorMarkupEngine())
-      ->setViewer($viewer);
-
     $timeline = id(new DifferentialTransactionView())
       ->setUser($viewer)
       ->setObjectPHID($revision->getPHID())
Index: src/applications/transactions/view/PhabricatorApplicationTransactionView.php
===================================================================
--- src/applications/transactions/view/PhabricatorApplicationTransactionView.php
+++ src/applications/transactions/view/PhabricatorApplicationTransactionView.php
@@ -149,23 +149,23 @@
   }
 
   protected function getOrBuildEngine() {
-    if ($this->engine) {
-      return $this->engine;
-    }
-
-    $field = PhabricatorApplicationTransactionComment::MARKUP_FIELD_COMMENT;
-
-    $engine = id(new PhabricatorMarkupEngine())
-      ->setViewer($this->getUser());
-    foreach ($this->transactions as $xaction) {
-      if (!$xaction->hasComment()) {
-        continue;
+    if (!$this->engine) {
+      $field = PhabricatorApplicationTransactionComment::MARKUP_FIELD_COMMENT;
+
+      $engine = id(new PhabricatorMarkupEngine())
+        ->setViewer($this->getUser());
+      foreach ($this->transactions as $xaction) {
+        if (!$xaction->hasComment()) {
+          continue;
+        }
+        $engine->addObject($xaction->getComment(), $field);
       }
-      $engine->addObject($xaction->getComment(), $field);
+      $engine->process();
+
+      $this->engine = $engine;
     }
-    $engine->process();
 
-    return $engine;
+    return $this->engine;
   }
 
   private function buildChangeDetailsLink(