diff --git a/src/applications/differential/xaction/DifferentialRevisionAuthorTransaction.php b/src/applications/differential/xaction/DifferentialRevisionAuthorTransaction.php
index f86bf8a66c..d60404b8e0 100644
--- a/src/applications/differential/xaction/DifferentialRevisionAuthorTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionAuthorTransaction.php
@@ -1,155 +1,165 @@
 <?php
 
 final class DifferentialRevisionAuthorTransaction
   extends DifferentialRevisionTransactionType {
 
   const TRANSACTIONTYPE = 'differential.revision.author';
   const EDITKEY = 'author';
 
   public function generateOldValue($object) {
     return $object->getAuthorPHID();
   }
 
   public function generateNewValue($object, $value) {
     return $value;
   }
 
   public function applyInternalEffects($object, $value) {
     $object->setAuthorPHID($value);
   }
 
   public function validateTransactions($object, array $xactions) {
     $actor = $this->getActor();
     $errors = array();
 
     if (!$xactions) {
       return $errors;
     }
 
     foreach ($xactions as $xaction) {
       $old = $xaction->generateOldValue($object);
       $new = $xaction->getNewValue();
 
       if ($old === $new) {
         continue;
       }
 
       if (!$new) {
         $errors[] = $this->newInvalidError(
           pht('Revisions must have an assigned author.'),
           $xaction);
         continue;
       }
 
       $author_objects = id(new PhabricatorPeopleQuery())
         ->setViewer($actor)
         ->withPHIDs(array($new))
         ->execute();
       if (!$author_objects) {
         $errors[] = $this->newInvalidError(
           pht('Author "%s" is not a valid user.', $new),
           $xaction);
         continue;
       }
     }
 
     return $errors;
   }
 
   public function getIcon() {
     $author_phid = $this->getAuthorPHID();
     $old_phid = $this->getOldValue();
     $new_phid = $this->getNewValue();
 
     $is_commandeer = ($author_phid === $new_phid);
     $is_foist = ($author_phid === $old_phid);
 
     if ($is_commandeer) {
       return 'fa-flag';
     }
 
     if ($is_foist) {
       return 'fa-gift';
     }
 
     return 'fa-user';
   }
 
   public function getColor() {
     return 'sky';
   }
 
   public function getTitle() {
     $author_phid = $this->getAuthorPHID();
     $old_phid = $this->getOldValue();
     $new_phid = $this->getNewValue();
 
     $is_commandeer = ($author_phid === $new_phid);
     $is_foist = ($author_phid === $old_phid);
 
     if ($is_commandeer) {
       return pht(
         '%s commandeered this revision from %s.',
         $this->renderAuthor(),
         $this->renderOldHandle());
     }
 
     if ($is_foist) {
-      return pht(
-        '%s foisted this revision upon %s.',
-        $this->renderAuthor(),
-        $this->renderNewHandle());
+      if ($new_phid) {
+        return pht(
+          '%s foisted this revision upon %s.',
+          $this->renderAuthor(),
+          $this->renderNewHandle());
+      } else {
+
+        // This isn't a valid transaction that can be applied, but happens in
+        // the preview if you temporarily delete the tokenizer value.
+
+        return pht(
+          '%s foisted this revision upon...',
+          $this->renderAuthor());
+      }
     }
 
     return pht(
       '%s changed the author of this revision from %s to %s.',
       $this->renderAuthor(),
       $this->renderOldHandle(),
       $this->renderNewHandle());
   }
 
   public function getTitleForFeed() {
     $author_phid = $this->getAuthorPHID();
     $old_phid = $this->getOldValue();
     $new_phid = $this->getNewValue();
 
     $is_commandeer = ($author_phid === $new_phid);
     $is_foist = ($author_phid === $old_phid);
 
     if ($is_commandeer) {
       return pht(
         '%s commandeered %s from %s.',
         $this->renderAuthor(),
         $this->renderObject(),
         $this->renderOldHandle());
     }
 
     if ($is_foist) {
       return pht(
         '%s foisted %s upon %s.',
         $this->renderAuthor(),
         $this->renderObject(),
         $this->renderNewHandle());
     }
 
     return pht(
       '%s changed the author of %s from %s to %s.',
       $this->renderAuthor(),
       $this->renderObject(),
       $this->renderOldHandle(),
       $this->renderNewHandle());
 
   }
 
   public function getTransactionTypeForConduit($xaction) {
     return 'author';
   }
 
   public function getFieldValuesForConduit($object, $data) {
     return array(
       'old' => $object->getOldValue(),
       'new' => $object->getNewValue(),
     );
   }
 
 }