diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn
index c6e0152973a7b123e08506f193efcdfd3b91ab27..bcea71cf4247e63e558f2b5ffc3c23708783c1f1 100644
--- a/doc/vcsh.1.ronn
+++ b/doc/vcsh.1.ronn
@@ -113,18 +113,21 @@ appropriate values for fake bare git repositories.
 
 ## HOOK SYSTEM
 
-`vcsh` provides a hook system. Hook scripts need to be executable and placed
-in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they should be
-soft-linked <$XDG_CONFIG_HOME/vcsh/hooks-enabled>.
+`vcsh` provides a hook system. Hook scripts must be executable and should be
+placed in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they can be
+soft-linked into <$XDG_CONFIG_HOME/vcsh/hooks-enabled>; `vcsh` will only
+execute hooks that are in this directory.
 
 Hooks follow a simple format. `pre-run` will be run before anything is run.
 If you want to have more than one script for a certain hook, just append
-strings to order them. A system of `pre-run`, `pre-run.10`, `pre-run.20` etc
-is suggested. The dot it optional.
+any kind of string to order them. A system of `pre-run`, `pre-run.10`,
+`pre-run.20` etc is suggested; other options would be `pre-run-10` or
+`pre-run.sh`. A dot after the hook name is optional.
 
 If you want to create hooks for a specific `vcsh` repository, simply prepend
-the repository's name, followed by a dot, i.e. `zsh.pre-run`. This dot is
-mandatory.
+the repository's name, followed by a dot, i.e. `zsh.pre-run`. Otherwise, the
+same rules as above apply. The dot between the repository's name and the hook
+is mandatory, though.
 
 ## DETAILED HOWTO AND FURTHER READING
 
diff --git a/vcsh b/vcsh
index bf97cbfb0a92a632e5961d9d51c54d5ae8a16ee4..29b5eb9de0f1fd54a06ab5df802c1c97661bc61a 100755
--- a/vcsh
+++ b/vcsh
@@ -115,9 +115,9 @@ git_dir_exists() {
 }
 
 hook() {
-	for f in $VCSH_HOOK_D/$1* $VCSH_HOOK_D/$VCSH_REPO_NAME.$1*; do
-		[ -x "$f" ] || continue
-		"$f"
+	for hook in $VCSH_HOOK_D/$1* $VCSH_HOOK_D/$VCSH_REPO_NAME.$1*; do
+		[ -x "$hook" ] || continue
+		"$hook"
 	done
 }