diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php
--- a/src/applications/transactions/editengine/PhabricatorEditEngine.php
+++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php
@@ -2017,6 +2017,17 @@
             ->setContent($comment_text));
     }
 
+    if (strlen($comment_text)) {
+      if ($comment_metadata) {
+        $remarkup_xactions = self::newTransactionsFromRemarkupMetadata(
+          $template,
+          $comment_metadata);
+        foreach ($remarkup_xactions as $remarkup_xaction) {
+          $xactions[] = $remarkup_xaction;
+        }
+      }
+    }
+
     $editor = $object->getApplicationTransactionEditor()
       ->setActor($viewer)
       ->setContinueOnNoEffect($request->isContinueRequest())
@@ -2079,6 +2090,26 @@
     }
   }
 
+  public static function newTransactionsFromRemarkupMetadata(
+    PhabricatorApplicationTransaction $template,
+    array $metadata) {
+
+    $xactions = array();
+
+    $attached_phids = idx($metadata, 'attachedFilePHIDs');
+    if (is_array($attached_phids) && $attached_phids) {
+      $attachment_map = array_fill_keys(
+        $attached_phids,
+        PhabricatorFileAttachment::MODE_ATTACH);
+
+      $xactions[] = id(clone $template)
+        ->setTransactionType(PhabricatorTransactions::TYPE_FILE)
+        ->setNewValue($attachment_map);
+    }
+
+    return $xactions;
+  }
+
   protected function newDraftEngine($object) {
     $viewer = $this->getViewer();