diff --git a/_vcsh b/_vcsh
index 1661e19d0e9a1bec051b0857ae8f4e908520b0be..9aca0f97095021e28777baffbcea58a1dbe1ef5f 100644
--- a/_vcsh
+++ b/_vcsh
@@ -63,10 +63,12 @@ function _vcsh-rename () {
function _vcsh-run () {
(( CURRENT == 2 )) && __vcsh_repositories
- if (( CURRENT >= 3 )); then
+ (( CURRENT == 3 )) && _command_names -e
+ if (( CURRENT >= 4 )); then
+ # see _precommand in zsh
words=( "${(@)words[3,-1]}" )
(( CURRENT -= 2 ))
- _complete
+ _normal
fi
}