diff --git a/src/applications/diffusion/view/DiffusionBrowseTableView.php b/src/applications/diffusion/view/DiffusionBrowseTableView.php
index 71cc65989..6354c5dc5 100644
--- a/src/applications/diffusion/view/DiffusionBrowseTableView.php
+++ b/src/applications/diffusion/view/DiffusionBrowseTableView.php
@@ -1,156 +1,163 @@
 <?php
 
 final class DiffusionBrowseTableView extends DiffusionView {
 
   private $paths;
   private $handles = array();
 
   public function setPaths(array $paths) {
     assert_instances_of($paths, 'DiffusionRepositoryPath');
     $this->paths = $paths;
     return $this;
   }
 
   public function setHandles(array $handles) {
     assert_instances_of($handles, 'PhabricatorObjectHandle');
     $this->handles = $handles;
     return $this;
   }
 
   public function render() {
     $request = $this->getDiffusionRequest();
     $repository = $request->getRepository();
 
     $base_path = trim($request->getPath(), '/');
     if ($base_path) {
       $base_path = $base_path.'/';
     }
 
     $need_pull = array();
     $rows = array();
     $show_edit = false;
     foreach ($this->paths as $path) {
-
-      $history_link = $this->linkHistory($path->getPath());
+      $full_path = $base_path.$path->getPath();
 
       $dir_slash = null;
       $file_type = $path->getFileType();
       if ($file_type == DifferentialChangeType::FILE_DIRECTORY) {
         $browse_text = $path->getPath().'/';
         $dir_slash = '/';
 
         $browse_link = phutil_tag('strong', array(), $this->linkBrowse(
-          $base_path.$path->getPath().$dir_slash,
+          $full_path.$dir_slash,
           array(
             'type' => $file_type,
             'name' => $browse_text,
           )));
+
+        $history_path = $full_path.'/';
       } else if ($file_type == DifferentialChangeType::FILE_SUBMODULE) {
         $browse_text = $path->getPath().'/';
         $browse_link = phutil_tag('strong', array(), $this->linkBrowse(
           null,
           array(
             'type' => $file_type,
             'name' => $browse_text,
             'hash' => $path->getHash(),
             'external' => $path->getExternalURI(),
           )));
+
+        $history_path = $full_path.'/';
       } else {
         $browse_text = $path->getPath();
         $browse_link = $this->linkBrowse(
-          $base_path.$path->getPath(),
+          $full_path,
           array(
             'type' => $file_type,
             'name' => $browse_text,
           ));
+
+        $history_path = $full_path;
       }
 
+      $history_link = $this->linkHistory($history_path);
+
       $dict = array(
         'lint'      => celerity_generate_unique_node_id(),
         'commit'    => celerity_generate_unique_node_id(),
         'date'      => celerity_generate_unique_node_id(),
         'author'    => celerity_generate_unique_node_id(),
         'details'   => celerity_generate_unique_node_id(),
       );
 
-      $need_pull[$base_path.$path->getPath().$dir_slash] = $dict;
+      $need_pull[$full_path.$dir_slash] = $dict;
       foreach ($dict as $k => $uniq) {
         $dict[$k] = phutil_tag('span', array('id' => $uniq), '');
       }
 
       $rows[] = array(
         $history_link,
         $browse_link,
         idx($dict, 'lint'),
         $dict['commit'],
         $dict['author'],
         $dict['details'],
         $dict['date'],
       );
     }
 
     if ($need_pull) {
       Javelin::initBehavior(
         'diffusion-pull-lastmodified',
         array(
           'uri'   => (string)$request->generateURI(
             array(
               'action' => 'lastmodified',
               'stable' => true,
             )),
           'map' => $need_pull,
         ));
     }
 
     $branch = $this->getDiffusionRequest()->loadBranch();
     $show_lint = ($branch && $branch->getLintCommit());
     $lint = $request->getLint();
 
     $view = new AphrontTableView($rows);
     $view->setHeaders(
       array(
         null,
         pht('Path'),
         ($lint ? $lint : pht('Lint')),
         pht('Modified'),
         pht('Author/Committer'),
         pht('Details'),
         pht('Committed'),
       ));
     $view->setColumnClasses(
       array(
         'nudgeright',
         '',
         '',
         '',
         '',
         'wide',
         '',
       ));
     $view->setColumnVisibility(
       array(
         true,
         true,
         $show_lint,
         true,
         true,
         true,
         true,
       ));
 
     $view->setDeviceVisibility(
       array(
         true,
         true,
         false,
         true,
         false,
         true,
         false,
       ));
 
 
     return $view->render();
   }
 
 }