diff --git a/_vcsh b/_vcsh
index 6880f728eaf266b0573bd0da9acf556f48428658..1661e19d0e9a1bec051b0857ae8f4e908520b0be 100644
--- a/_vcsh
+++ b/_vcsh
@@ -142,7 +142,7 @@ function _vcsh () {
 				GIT_DIR=$VCSH_REPO_D/$words[1].git _dispatch git git
 			else
 				curcontext="${curcontext%:*:*}:vcsh-${vcshcommand}:"
-				_call_function ret _vcsh-${vcshcommand}
+				_call_function ret _vcsh-${vcshcommand} && (( ret ))
 			fi
 		fi
 	fi