diff --git a/vcsh b/vcsh
index e8513edbac9ce3bf7fea283e84185a7940ee5920..86a3711ddab7ae189a2560495e63d04a489d4aeb 100755
--- a/vcsh
+++ b/vcsh
@@ -146,9 +146,9 @@ clone() {
 	hook pre-clone
 	init
 	git remote add origin "$GIT_REMOTE"
-	git config branch.master.remote origin
-	git config branch.master.merge  refs/heads/master
-	if [ $(git ls-remote origin master 2> /dev/null | wc -l ) -lt 1 ]; then
+	git config branch."$VCSH_BRANCH".remote origin
+	git config branch."$VCSH_BRANCH".merge  refs/heads/$VCSH_BRANCH
+	if [ $(git ls-remote origin $VCSH_BRANCH 2> /dev/null | wc -l ) -lt 1 ]; then
 		info "remote is empty, not merging anything"
 		exit
 	fi
@@ -162,7 +162,7 @@ clone() {
 	[ x"$VCSH_CONFLICT" = x'1' ]) &&
 		fatal "will stop after fetching and not try to merge!
   Once this situation has been resolved, run 'vcsh $VCSH_REPO_NAME pull' to finish cloning." 17
-	git merge origin/master
+	git merge origin/master # XXX
 	hook post-merge
 	hook post-clone
 	retire