diff --git a/git-branch.sh b/git-branch.sh
index bf84b30695f..c61683033da 100755
--- a/git-branch.sh
+++ b/git-branch.sh
@@ -121,6 +121,16 @@ then
 	done
 fi
 
+branchdir=$(dirname $branchname)
+while test "$branchdir" != "."
+do
+	if git-show-ref --verify --quiet -- "refs/heads/$branchdir"
+	then
+		die "$branchdir already exists."
+	fi
+	branchdir=$(dirname $branchdir)
+done
+
 prev=''
 if git-show-ref --verify --quiet -- "refs/heads/$branchname"
 then