diff --git a/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php b/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php
index 8c03ad96e..c30d81c39 100644
--- a/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php
+++ b/src/applications/diffusion/query/stablecommitname/DiffusionGitStableCommitNameQuery.php
@@ -1,16 +1,24 @@
 <?php
 
 final class DiffusionGitStableCommitNameQuery
 extends DiffusionStableCommitNameQuery {
 
   protected function executeQuery() {
     $repository = $this->getRepository();
     $branch = $this->getBranch();
-    list($stdout) = $repository->execxLocalCommand(
-      'rev-parse --verify %s',
-      $branch);
+
+    if ($repository->isWorkingCopyBare()) {
+      list($stdout) = $repository->execxLocalCommand(
+        'rev-parse --verify %s',
+        $branch);
+    } else {
+      list($stdout) = $repository->execxLocalCommand(
+        'rev-parse --verify %s/%s',
+        DiffusionBranchInformation::DEFAULT_GIT_REMOTE,
+        $branch);
+    }
 
     $commit = trim($stdout);
     return substr($commit, 0, 16);
   }
 }
diff --git a/src/applications/diffusion/request/DiffusionGitRequest.php b/src/applications/diffusion/request/DiffusionGitRequest.php
index 975051d89..df3df74c7 100644
--- a/src/applications/diffusion/request/DiffusionGitRequest.php
+++ b/src/applications/diffusion/request/DiffusionGitRequest.php
@@ -1,37 +1,43 @@
 <?php
 
 /**
  * @group diffusion
  */
 final class DiffusionGitRequest extends DiffusionRequest {
 
   protected function getSupportsBranches() {
     return true;
   }
 
   protected function didInitialize() {
     if (!$this->commit) {
       return;
     }
 
     $this->expandCommitName();
   }
 
   public function getBranch() {
     if ($this->branch) {
       return $this->branch;
     }
     if ($this->repository) {
       return $this->repository->getDefaultBranch();
     }
     throw new Exception("Unable to determine branch!");
   }
 
   public function getCommit() {
     if ($this->commit) {
       return $this->commit;
     }
-    return $this->getBranch();
+
+    if ($this->repository->isWorkingCopyBare()) {
+      return $this->getBranch();
+    } else {
+      $remote = DiffusionBranchInformation::DEFAULT_GIT_REMOTE;
+      return $remote.'/'.$this->getBranch();
+    }
   }
 
 }