diff --git a/vcsh b/vcsh
index 5d5628e236368e7d11addeedc57c60c8f87fa8a6..6ce5320a620e098d2907c127261c65a0a334a939 100755
--- a/vcsh
+++ b/vcsh
@@ -152,12 +152,12 @@ clone() {
 		exit
 	fi
 	git fetch
-	for object in $(git ls-tree -r origin/master | awk '{print $4}'); do
+	git ls-tree -r --name-only origin/master | (while read object; do
 		[ -e "$object" ] &&
 			error "'$object' exists." &&
 			VCSH_CONFLICT=1
 	done
-	[ "$VCSH_CONFLICT" = '1' ] &&
+	[ "$VCSH_CONFLICT" = '1' ]) &&
 		fatal "will stop after fetching and not try to merge!
   Once this situation has been resolved, run 'vcsh run $VCSH_REPO_NAME git pull' to finish cloning." 17
 	git merge origin/master