diff --git a/resources/sql/autopatches/20170528.maniphestdupes.php b/resources/sql/autopatches/20170528.maniphestdupes.php
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20170528.maniphestdupes.php
@@ -0,0 +1,21 @@
+<?php
+
+$table = new ManiphestTransaction();
+$type = ManiphestTaskHasDuplicateTaskEdgeType::EDGECONST;
+
+foreach (new LiskMigrationIterator($table) as $txn) {
+  if ($txn->getTransactionType() != 'mergedinto') {
+    continue;
+  }
+
+  $src_phid = $txn->getObjectPHID();
+  $dst_phid = $txn->getNewValue();
+
+  try {
+    $editor = id(new PhabricatorEdgeEditor())
+      ->addEdge($src_phid, $type, $dst_phid)
+      ->save();
+  } catch (PhabricatorEdgeCycleException $ex) {
+    // Some earlier or later merge made this invalid, just skip it.
+  }
+}
diff --git a/src/applications/maniphest/controller/ManiphestTaskDetailController.php b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
--- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php
+++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
@@ -36,6 +36,7 @@
       ManiphestTaskHasMockEdgeType::EDGECONST,
       PhabricatorObjectMentionedByObjectEdgeType::EDGECONST,
       PhabricatorObjectMentionsObjectEdgeType::EDGECONST,
+      ManiphestTaskHasDuplicateTaskEdgeType::EDGECONST,
     );
 
     $phid = $task->getPHID();
@@ -159,6 +160,7 @@
 
     $related_tabs[] = $this->newMocksTab($task, $query);
     $related_tabs[] = $this->newMentionsTab($task, $query);
+    $related_tabs[] = $this->newDuplicatesTab($task, $query);
 
     $tab_view = null;
 
@@ -553,6 +555,32 @@
       ->appendChild($view);
   }
 
+  private function newDuplicatesTab(
+    ManiphestTask $task,
+    PhabricatorEdgeQuery $edge_query) {
+
+    $in_type = ManiphestTaskHasDuplicateTaskEdgeType::EDGECONST;
+    $in_phids = $edge_query->getDestinationPHIDs(array(), array($in_type));
+
+    $viewer = $this->getViewer();
+    $in_handles = $viewer->loadHandles($in_phids);
+    $in_handles = $this->getCompleteHandles($in_handles);
+
+    $view = new PHUIPropertyListView();
+
+    if (!count($in_handles)) {
+      return null;
+    }
+
+    $view->addProperty(
+      pht('Duplicates Merged Here'), $in_handles->renderList());
+
+    return id(new PHUITabView())
+      ->setName(pht('Duplicates'))
+      ->setKey('duplicates')
+      ->appendChild($view);
+  }
+
   private function getCompleteHandles(PhabricatorHandleList $handles) {
     $phids = array();