diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py
index d3fc03fb40f2de9bfc12fc5df7c0556e7c90f95b..01d545de6d13b0652d86b27f997278ab9faacc29 100644
--- a/lib/spack/spack/database.py
+++ b/lib/spack/spack/database.py
@@ -340,6 +340,7 @@ def invalid_record(hash_key, error):
         # cached prematurely.
         for hash_key, rec in data.items():
             rec.spec._mark_concrete()
+            rec.spec.package.spec._mark_concrete()
 
         self._data = data