diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn
index e06c5f901a8a889c36e129ca755d4ae3ee2637a9..0ea94286e26fc64ca2e8b4637dbd9b3976031b41 100644
--- a/doc/vcsh.1.ronn
+++ b/doc/vcsh.1.ronn
@@ -3,7 +3,7 @@ vcsh(1) - manage and sync config files via git
 
 ## SYNOPSIS
 
-`vcsh` clone <url> [<location>]
+`vcsh` clone <url> [<repo>]
 
 `vcsh` delete <repo>
 
@@ -44,6 +44,10 @@ vcsh. That being said, you can easily use `vcsh` without `mr` if you prefer.
 A sample configuration for `vcsh` and `mr` can be found at
 *https://github.com/RichiH/vcsh_mr_template*
 
+Please note that you can always use a path instead of a name for <repo>.
+This is needed to support mr and other scripts properly and of no concern to
+an interactive user.
+
 ## OPTIONS
 
 * clone:
diff --git a/vcsh b/vcsh
index 665c61a348ebead34defdf168aa491ad973113e8..8ca079a05fc232786ce6afaaac444a31c6590725 100755
--- a/vcsh
+++ b/vcsh
@@ -199,15 +199,7 @@ elif [ "$1" = 'delete' ] ||
 	export VCSH_REPO_NAME="$2"
 	export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git"
 	[ "$VCSH_COMMAND" = 'rename' ]         && export GIT_DIR_NEW="$VCSH_BASE/$3.git"
-	if [ "$VCSH_COMMAND" = 'run' ]; then
-		shift 2
-		export VCSH_EXTERNAL_COMMAND="$*"
-		# Did we receive a directory instead of a name? Mangle the input to fit normal operation!
-		if echo $VCSH_REPO_NAME | grep -q '/'; then
-			export GIT_DIR=$VCSH_REPO_NAME
-			export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git)
-		fi
-	fi
+	[ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*"
 	[ "$VCSH_COMMAND" = 'seed-gitignore' ]
 elif [ "$1" = 'list' ]; then
 	export VCSH_COMMAND="$1"
@@ -223,6 +215,14 @@ else
 	help && exit
 fi
 
+# Did we receive a directory instead of a name?
+# Mangle the input to fit normal operation.
+if echo $VCSH_REPO_NAME | grep -q '/'; then
+	export GIT_DIR=$VCSH_REPO_NAME
+	export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git)
+fi
+
+
 for check_directory in "$VCSH_BASE" "$HOME/.gitignore.d"
 do
 	if [ ! -d "$check_directory" ]; then