diff --git a/mpcdf_info.py b/mpcdf_info.py
index c8ff7cf41f14a4f7b941e2e620a048e73ed7ff1b..1c7a7b9b00f9e7918a48bc6502f001ecf7f2e314 100644
--- a/mpcdf_info.py
+++ b/mpcdf_info.py
@@ -39,13 +39,8 @@ def do_mpcdf_info(self, subcmd, opts, *args):
     api_url = self.get_api_url()
 
     def print_attribute(description, attribute):
-        try:
+        if mpcdf_common.has_attribute(api_url, project, None, attribute):
             values = list(sorted(mpcdf_common.get_attribute_values(api_url, project, None, attribute)))
-        except Exception:
-            print("This project unmanaged, i.e. it does not have the required MPCDF: attributes set")
-            raise SystemExit(0)
-
-        if values:
             print(" {0}:\n   ".format(description) + "\n   ".join(values))
             print()
 
@@ -60,22 +55,27 @@ def do_mpcdf_info(self, subcmd, opts, *args):
     pkg_name_width = reduce(max, (len(p) for p in packages))
     pkg_name_width = max(pkg_name_width, len("Package"))
 
-    r = osc.core.http_request("GET", api_url + "/attribute/MPCDF/enable_repositories/_meta")
-    root = ElementTree.parse(r).getroot()
-    kinds = list(value.text for value in root.findall("./allowed/value"))
-
     pkg_name_fmt = "{{:{0}}}".format(pkg_name_width)
 
     print(" " + pkg_name_fmt.format("Package"), "Enabled repositories")
     print(" " + "-" * (pkg_name_width), "-" * len("Enabled repositories"))
 
     for package in packages:
-        try:
+        if mpcdf_common.has_attribute(api_url, project, package, "MPCDF:enable_repositories"):
             enabled_repos = mpcdf_common.get_attribute_values(api_url, project, package, "MPCDF:enable_repositories")
-        except Exception:
+        else:
             unmanaged.append(package)
             continue
-        print(" " + pkg_name_fmt.format(package), ", ".join(filter(lambda q: q in enabled_repos, kinds)))
+
+        def subset(description, attribute):
+            if mpcdf_common.has_attribute(api_url, project, package, attribute):
+                return " ({0}: {1})".format(description, ", ".join(mpcdf_common.get_attribute_values(api_url, project, package, attribute)))
+            return ""
+
+        print(" " + pkg_name_fmt.format(package), ", ".join(enabled_repos),
+              subset("compiler subset", "MPCDF:compiler_modules") +
+              subset("MPI subset", "MPCDF:mpi_modules") +
+              subset("CUDA subet", "MPCDF:cuda_modules"))
     print()
 
     if unmanaged: