diff --git a/vcsh b/vcsh
index 04ea186c4c28ce7671c177fc376694e3feb4fb0c..d05f26956bc7f55bafb5c0e76db0751303c1b2d8 100755
--- a/vcsh
+++ b/vcsh
@@ -168,8 +168,7 @@ setup() {
 	git config core.worktree     "$GIT_WORK_TREE"
 	git config core.excludesfile ".gitignore.d/$VCSH_REPO_NAME"
 	git config vcsh.vcsh         'true'
-	touch   "$HOME/.gitignore.d/$VCSH_REPO_NAME" || error "could not touch '$HOME/.gitignore.d/$VCSH_REPO_NAME'"
-	git add "$HOME/.gitignore.d/$VCSH_REPO_NAME"
+	[ -e "$HOME/.gitignore.d/$VCSH_REPO_NAME" ] && git add -f "$HOME/.gitignore.d/$VCSH_REPO_NAME"
 }
 
 use() {