diff --git a/src/mpsd_software_manager/spack.py b/src/mpsd_software_manager/spack.py
index 2c08de4742d04d63ad1101beda20412626a97c8e..f5b0bbee1247e7429b8f4f5dbe96b84e0cae5bf2 100644
--- a/src/mpsd_software_manager/spack.py
+++ b/src/mpsd_software_manager/spack.py
@@ -349,7 +349,15 @@ def refresh_modules(compilers: dict[str, Any] | None = None) -> None:
                 r'depends_on\("(intel-oneapi-compilers/[0-9.]+)"\)', classic_content
             )
             # match.group(1) will fail should we not find the line (should never happen)
-            oneapi_module = match.group(1) + ".lua"
+            try:
+                oneapi_module = match.group(1) + ".lua"
+            except (AttributeError, IndexError) as e:
+                logger.error(
+                    "Failed to find 'depends_on(intel-oneapi-compilers/...)' in '%s'",
+                    module_file,
+                    classic_content,
+                )
+                raise ModuleGenerationError() from e
             oneapi_module_file = Config().lmod_root / "Core" / oneapi_module
             modules_to_patch[oneapi_module_file] = {
                 "family": ONEAPI_FAMILY,
@@ -362,7 +370,7 @@ def refresh_modules(compilers: dict[str, Any] | None = None) -> None:
     # patch all intel modules
     try:
         with open(to_patch_file) as f:
-            modules_to_patch = yaml.load(f)
+            modules_to_patch = yaml.load(f, loader=yaml.Loader)
     except FileNotFoundError:
         logger.debug("No intel modules to patch")
         return