diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py
index f16599c2151da6496bd16fd960bb83e1256fa7cf..55d513ee27f9a0ae60293c2f6fe885a220185ed8 100644
--- a/lib/spack/spack/environment.py
+++ b/lib/spack/spack/environment.py
@@ -1117,7 +1117,7 @@ def add_default_view_to_shell(self, shell):
             self.default_view))
 
         for _, spec in self.concretized_specs():
-            if spec in self.default_view:
+            if spec in self.default_view and spec.package.installed:
                 env_mod.extend(self.environment_modifications_for_spec(
                     spec, self.default_view))
 
@@ -1138,7 +1138,7 @@ def rm_default_view_from_shell(self, shell):
             self.default_view).reversed())
 
         for _, spec in self.concretized_specs():
-            if spec in self.default_view:
+            if spec in self.default_view and spec.package.installed:
                 env_mod.extend(
                     self.environment_modifications_for_spec(
                         spec, self.default_view).reversed())