diff --git a/mpcdf_refresh_aggregates.py b/mpcdf_refresh_aggregates.py
index 4d77015a6fa545d145210a97de28e096cf1d8c71..f95dc3123c7bdee055ae3c0a30b14573d61323d1 100644
--- a/mpcdf_refresh_aggregates.py
+++ b/mpcdf_refresh_aggregates.py
@@ -80,17 +80,6 @@ def do_mpcdf_refresh_aggregates(self, subcmd, opts, *args):
     projects = [p for p in osc.core.meta_get_project_list(apiurl)
                 if p.startswith("software") and not (p == "software:dist" or p == "software:images")]
 
-    def active_repos(project):
-        lines = map(mpcdf_common.decode_it, osc.core.show_project_conf(apiurl, project))
-        for line in lines:
-            if line == mpcdf_common.prjconf_start_marker:
-                break
-        for line in lines:
-            if line == mpcdf_common.prjconf_end_marker:
-                break
-            if line.startswith("%if %_repository == "):
-                yield line.split(" == ")[1].rstrip()
-
     macros = {}
     for project in projects:
         if project == "software":
@@ -105,7 +94,7 @@ def do_mpcdf_refresh_aggregates(self, subcmd, opts, *args):
             values = mpcdf_common.get_attribute_values(apiurl, project, None, attribute)
             macros[target].append("%available_{0} {1}".format(name, ",".join(sorted(values))))
 
-        for repo in active_repos(project):
+        for repo in osc.core.get_repositories_of_project(apiurl, project):
             aggregatename = "zz_aggregate_" + project.replace(":", "-") + "_" + repo
             refresh_aggregate(aggregatename, project, repo, target)