diff --git a/share/spack/setup-env.sh b/share/spack/setup-env.sh
index b2bcbaf6c7cfda834973803f6878232215c66226..b90846d28fcd6dfbe2ee4811376b7669989203b8 100755
--- a/share/spack/setup-env.sh
+++ b/share/spack/setup-env.sh
@@ -64,7 +64,7 @@ function spack {
     done
 
     # h and V flags don't require further output parsing.
-    if [[ "$_sp_flags" =~ *h* || "$_sp_flags" =~ *V* ]]; then
+    if [[ (! -z "$_sp_flags") && ("$_sp_flags" =~ '.*h.*' || "$_sp_flags" =~ '.*V.*') ]]; then
         command spack $_sp_flags "$@"
         return
     fi