diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index 7df3c70f2f268bc0ceaf4fe60dfd6495b9466953..7e0d22b69536eb1ee6095a26d8062ab738a7d749 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
 
 from spack import *
+import unittest.mock
 
 
 class Oppulance(Package):
@@ -137,6 +138,15 @@ class Oppulance(Package):
              expand=False,
              )
 
+    # see build-brainscales package for a description; we need to duplicate
+    # here, as the cache content is shared between the two repositories
+    @when("@9:")
+    def do_fetch(self, mirror_only=False):
+        # in the configure step, we need access to all archived .git folders
+        def custom_archive(self, destination):
+            super(spack.fetch_strategy.GitFetchStrategy, self).archive(destination)
+        with unittest.mock.patch('spack.fetch_strategy.GitFetchStrategy.archive', new=custom_archive):
+            super().do_fetch(mirror_only)
 
     def install(self, spec, prefix):
         ln = which('ln')