diff --git a/software/sanef/software.cfg b/software/sanef/software.cfg
index 88004910db3aeb5c805333d7b57eb98cb8fd7ad1..36c54f903cda75d55d171f5380819dd04031646d 100644
--- a/software/sanef/software.cfg
+++ b/software/sanef/software.cfg
@@ -9,7 +9,6 @@ extends =
 parts +=
   sanef.repository
   mysql-tritonn-5.0
-  products-upgrade
   bt5-repository
   maatkit
 
@@ -51,19 +50,6 @@ stop-on-error = true
 command =
   ${buildout:executable} ${erp5:location}/product/ERP5/bin/genbt5list ${erp5:location}/product/ERP5/bootstrap ${erp5:location}/bt5 ${sanef.repository:location}/bt5
 update-command = ${:command}
-  
-[products-upgrade]
-# Recipe infrae.subversion is using svn command under the hood, but there is
-# no way to pass --trust-server-cert --non-interactive, so in 2.12 falvour
-# it is better to evaluate usage of provided subversion command
-recipe = plone.recipe.command
-svn_param =--trust-server-cert --no-auth-cache --non-interactive --quiet
-location = ${buildout:parts-directory}/${:_buildout_section_name_}
-stop-on-error = true
-update-command = ${:command}
-product_list = ERP5PropertySheetLegacy
-command =
-  for product in ERP5PropertySheetLegacy ; do ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.erp5.org/repos/public/erp5/trunk/obsolete/products/$product ${:location}/$product || exit 1 ; done
 
 [products-erp5]
 recipe = plone.recipe.command
@@ -75,9 +61,3 @@ command =
   for product in ${erp5:location}/product/* ; do ln -fs $product ${:location}/Products ; done &&
   for product in ${sanef.repository:location}/product/* ; do ln -fs $product ${:location}/Products ; done &&
   echo "__import__('pkg_resources').declare_namespace(__name__)" > "${:location}/Products/__init__.py"
-
-[products]
-# XXX: Lack of eggification workaround
-# list of products, possible to extend, it is passed in reversed way
-# to allow overriding during extending profile
-list = ${products-deps:location} ${products-upgrade:location}
diff --git a/stack/erp5.cfg b/stack/erp5.cfg
index 88e2a057e0703d714ab2da6723281f1a074146fe..4412580d5ebae1564bcd5f70afc9111561195bd2 100644
--- a/stack/erp5.cfg
+++ b/stack/erp5.cfg
@@ -126,6 +126,8 @@ parts =
 
 # Zope products
   products-deps
+# Upgrade products
+  products-upgrade
 
 # Cloudooo specific part
   cloudooo
@@ -211,6 +213,19 @@ stop-on-error = true
 command =
   ${subversion:location}/bin/svn checkout -r 98997 ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer && cd ${:location}/Localizer && ${git:location}/bin/git reset --quiet --hard dacb6ba0ae559cd9bdb8822812d24a12a21e9e37
+  
+[products-upgrade]
+# Recipe infrae.subversion is using svn command under the hood, but there is
+# no way to pass --trust-server-cert --non-interactive, so in 2.12 falvour
+# it is better to evaluate usage of provided subversion command
+recipe = plone.recipe.command
+svn_param =--trust-server-cert --no-auth-cache --non-interactive --quiet
+location = ${buildout:parts-directory}/${:_buildout_section_name_}
+stop-on-error = true
+update-command = ${:command}
+product_list = ERP5PropertySheetLegacy
+command =
+  for product in ERP5PropertySheetLegacy ; do ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.erp5.org/repos/public/erp5/trunk/obsolete/products/$product ${:location}/$product || exit 1 ; done
 
 [erp5_repository_list]
 repository_id_list = sanef.repository erp5
@@ -239,6 +254,7 @@ recipe = plone.recipe.command
 stop-on-error = true
 command =
   for DIR in "${products-deps:location}"; do cd "$DIR"; rm -f Products ; ln -s . Products; touch __init__.py; done
+  for DIR in "${products-upgrade:location}"; do cd "$DIR"; rm -f Products ; ln -s . Products; touch __init__.py; done
   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
 update-command = ${:command}
 
@@ -377,6 +393,7 @@ scripts =
 extra-paths =
   ${itools:location}/lib
   ${products-deps:location}
+  ${products-upgrade:location}
   ${erp5:location}
 
 [mysql-python]