diff --git a/vcsh b/vcsh
index d1283e4e3e8bc3bc9bbf9ba4962ca8ec4fd5ee81..1de5ed77a768795406426682d97a3e10f4024600 100755
--- a/vcsh
+++ b/vcsh
@@ -83,6 +83,10 @@ fi
 [ -z "$VCSH_GITIGNORE" ]              && VCSH_GITIGNORE='exact'
 [ -z "$VCSH_WORKTREE" ]               && VCSH_WORKTREE='absolute'
 
+if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xnone' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive' ]; then
+	fatal "'\$VCSH_GITIGNORE' must equal 'exact', 'none', or 'recursive'" 1
+fi
+
 if [ ! "x$VCSH_WORKTREE" = 'xabsolute' ] && [ ! "x$VCSH_WORKTREE" = 'xrelative' ]; then
 	fatal "'\$VCSH_WORKTREE' must equal 'absolute', or 'relative'" 1
 fi
@@ -382,10 +386,6 @@ write_gitignore() {
 		fatal "could not move '$tempfile' to '$VCSH_BASE/.gitignore.d/$VCSH_REPO_NAME'" 53
 }
 
-if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xnone' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive' ]; then
-	fatal "'\$VCSH_GITIGNORE' must equal 'exact', 'none', or 'recursive'" 1
-fi
-
 if [ "$1" = 'clone' ]; then
 	[ -z "$2" ] && fatal "$1: please specify a remote" 1
 	export VCSH_COMMAND="$1"