diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py
index 01eccfab57b4d82e08108ba1bb505258b337f0dd..5f2e5e19d99b8155cf18ee98e451b1740ddecc53 100644
--- a/var/spack/repos/builtin/packages/vim/package.py
+++ b/var/spack/repos/builtin/packages/vim/package.py
@@ -71,14 +71,14 @@ def install(self, spec, prefix):
         for fs in self.feature_sets:
             if "+" + fs in spec:
                 if feature_set is not None:
-                    tty.error(
+                    raise InstallError(
                         "Only one feature set allowed, specified %s and %s"
                         % (feature_set, fs))
                 feature_set = fs
         if '+gui' in spec:
             if feature_set is not None:
-                if feature_set is not 'huge':
-                    tty.error(
+                if feature_set != 'huge':
+                    raise InstallError(
                         "+gui variant requires 'huge' feature set, "
                         "%s was specified" % feature_set)
             feature_set = 'huge'