diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index 3ff9b2bf204fe9c77a00f0fd4a8e14829f7bb54f..cfd03ec35584646b8319fe6d9558f900a0c18664 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -104,8 +104,14 @@ def install(self, spec, prefix):
                 shutil.copy2(f, os.path.join(prefix, f))
 
     def setup_environment(self, spack_env, run_env):
-        spack_env.set('GOROOT_FINAL', self.spec.prefix)
-        spack_env.set('GOROOT_BOOTSTRAP', self.spec['go-bootstrap'].prefix)
+        try:
+            spack_env.set('GOROOT_FINAL', self.spec.prefix)
+            spack_env.set('GOROOT_BOOTSTRAP', self.spec['go-bootstrap'].prefix)
+        except KeyError:
+            # Needed because we try to get a build-only
+            # dependency, and this may fail during module 
+            # file creation
+            pass
 
     def setup_dependent_package(self, module, ext_spec):
         """Called before go modules' install() methods.