diff --git a/git_common.py b/git_common.py
index 6b21050..a01f8e5 100644
--- a/git_common.py
+++ b/git_common.py
@@ -293,7 +293,7 @@
 
 
 def branches(*args):
-  NO_BRANCH = ('* (no branch', '* (detached from ')
+  NO_BRANCH = ('* (no branch', '* (detached', '* (HEAD detached')
 
   key = 'depot-tools.branch-limit'
   limit = 20
diff --git a/tests/git_common_test.py b/tests/git_common_test.py
index 5ba00b2..5c6febe 100755
--- a/tests/git_common_test.py
+++ b/tests/git_common_test.py
@@ -230,7 +230,6 @@
     self.repo.git('checkout', 'branch_D')
     self.assertEqual(self.repo.run(self.gc.current_branch), 'branch_D')
 
-  @unittest.skip('broken by git 2.4')
   def testBranches(self):
     # This check fails with git 2.4 (see crbug.com/487172)
     self.assertEqual(self.repo.run(set, self.gc.branches()),
@@ -448,7 +447,6 @@
     self.repo.git('branch', '--set-upstream-to', 'root_A', 'branch_G')
     self.repo.git('branch', '--set-upstream-to', 'root_X', 'root_A')
 
-  @unittest.skip('broken by git 2.4')
   def testTooManyBranches(self):
     for i in xrange(30):
       self.repo.git('branch', 'a'*i)
@@ -535,7 +533,6 @@
     self.assertIsNone(
       self.repo.run(self.gc.get_or_create_merge_base, 'branch_DOG'))
 
-  @unittest.skip('broken by git 2.4')
   def testGetBranchTree(self):
     skipped, tree = self.repo.run(self.gc.get_branch_tree)
     # This check fails with git 2.4 (see crbug.com/487172)
@@ -731,6 +728,4 @@
 
 if __name__ == '__main__':
   sys.exit(coverage_utils.covered_main(
-    os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py'),
-    required_percentage=88.0
-  ))
+    os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py')))
diff --git a/tests/git_rebase_update_test.py b/tests/git_rebase_update_test.py
index f374948..ea12d16 100755
--- a/tests/git_rebase_update_test.py
+++ b/tests/git_rebase_update_test.py
@@ -6,7 +6,6 @@
 """Unit tests for git_rebase_update.py"""
 
 import os
-import unittest
 import sys
 
 DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
@@ -69,7 +68,6 @@
     self.origin.nuke()
     super(GitRebaseUpdateTest, self).tearDown()
 
-  @unittest.skip('broken by git 2.4')
   def testRebaseUpdate(self):
     self.repo.git('checkout', 'branch_K')
 
@@ -342,4 +340,4 @@
     os.path.join(DEPOT_TOOLS_ROOT, 'git_new_branch.py'),
     os.path.join(DEPOT_TOOLS_ROOT, 'git_reparent_branch.py'),
     os.path.join(DEPOT_TOOLS_ROOT, 'git_rename_branch.py')
-  ), required_percentage=85.0))
+  )))
