diff --git a/mpcdf_common.py b/mpcdf_common.py
index ee6b204a14abd9cbf612f8912338f08f3ab7fa34..631ac1cccd1e2e4b79e09f348dd1177de3bfdec8 100644
--- a/mpcdf_common.py
+++ b/mpcdf_common.py
@@ -8,6 +8,10 @@ import osc.oscerr
 from functools import partial
 from xml.etree import ElementTree
 
+package_attributes = ["MPCDF:enable_repositories"]
+config_attributes = ["MPCDF:compiler_modules", "MPCDF:cuda_modules", "MPCDF:mpi_modules", "MPCDF:pgi_modules"]
+default_attributes = ["MPCDF:default_compiler", "MPCDF:default_cuda", "MPCDF:default_mpi"]
+
 intel_parallel_studio = {
     "mpcdf_intel_parallel_studio_2017_7": {"compiler": "intel_17_0_7", "impi": "impi_2017_4", "mkl": "mkl_2017_4-module", },
     "mpcdf_intel_parallel_studio_2018_1": {"compiler": "intel_18_0_1", "impi": "impi_2018_1", "mkl": "mkl_2018_1-module", },
@@ -299,9 +303,9 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r
 
 def mpcdf_setup_repositories(api_url, project, distribution=None, parent=None, packages=None, dry_run=False, filter_repos=None, only_project=False):
     if parent:
-        for attribute in ["compiler_modules", "default_compiler", "mpi_modules", "default_mpi", "cuda_modules", "default_cuda", "pgi_modules"]:
-            print("Copying attribute 'MPCDF:{0}' from parent project".format(attribute))
-            set_attribute(api_url, project, None, get_attribute(api_url, parent, None, "MPCDF:" + attribute))
+        for attribute in config_attributes + default_attributes:
+            print("Copying attribute '{0}' from parent project".format(attribute))
+            set_attribute(api_url, project, None, get_attribute(api_url, parent, None, attribute))
 
     compilers = list(get_attribute_values(api_url, project, None, "MPCDF:compiler_modules"))
     mpis = list(get_attribute_values(api_url, project, None, "MPCDF:mpi_modules"))
@@ -522,10 +526,7 @@ def sync_projects(api_url, package=None, from_project="software", to_projects=No
         else:
             from_packages = [package]
 
-        project_attributes = ["MPCDF:compiler_modules", "MPCDF:cuda_modules", "MPCDF:mpi_modules"]
-        package_attributes = ["MPCDF:enable_repositories"] + project_attributes
-
-        for attribute in project_attributes:
+        for attribute in config_attributes:
             try:
                 get_attribute(api_url, to_project, None, attribute)
             except Exception:
@@ -545,7 +546,7 @@ def sync_projects(api_url, package=None, from_project="software", to_projects=No
             else:
                 print("Not branching package {0}, already present in target".format(orig_package))
 
-            for attribute in package_attributes:
+            for attribute in package_attributes + config_attributes:
                 try:
                     attr = get_attribute(api_url, from_project, orig_package, attribute)
                 except UnsetAttributeException: