diff --git a/roles/webserver-legacy/php-builder/source.sls b/roles/webserver-legacy/php-builder/source.sls
--- a/roles/webserver-legacy/php-builder/source.sls
+++ b/roles/webserver-legacy/php-builder/source.sls
@@ -26,12 +26,13 @@
     return set(versions)
 
 
-def get_archive_path(version):
-    return "/opt/php/archives/php-" + version + ".tar.bz2"
+def get_build_directories():
+  return ["/opt/php/_builds/" + build['version']
+          for build in get_release_builds().values()]
 
 
-def get_build_directories():
-    return ["/opt/php/" + build for build in __pillar__["php_custom_builds"]]
+def get_archive_path(version):
+    return "/opt/php/_archives/php-" + version + ".tar.bz2"
 
 
 def get_extract_archive_command(archive, directory):
@@ -47,7 +48,7 @@
     config = {}
 
     builder_user = 'builder'
-    directories_to_create = ['/opt/php', '/opt/php/archives']
+    directories_to_create = ['/opt/php', '/opt/php/_archives', '/opt/php/_builds']
 
     # Task: create directories
     directories_to_create.extend(get_build_directories())
@@ -55,9 +56,12 @@
         config[directory] = {'file.directory': [{'user': builder_user}]}
 
     # Task: fetch archives
+    # Task: extract archives to build directories
     for version, archive_hash in get_release_versions():
         archive = get_archive_path(version)
         url = "http://fr2.php.net/get/php-" + version + ".tar.bz2/from/this/mirror"
+        directory = "/opt/php/_builds/" + version
+        command = get_extract_archive_command(archive, directory)
 
         config[archive] = {'file.managed': [
             {'source': url},
@@ -65,13 +69,7 @@
             {'user': builder_user},
         ]}
 
-    # Task: extract archives to build directories
-    for build_name, build in get_release_builds().items():
-        archive = get_archive_path(build['version'])
-        directory = "/opt/php/" + build_name
-        command = get_extract_archive_command(archive, directory)
-
-        config["php_build_" + build_name] = {'cmd.run' : [
+        config["php_build_" + version] = {'cmd.run': [
             {'name': command},
             {'user': builder_user},
             {'creates': directory + "/configure.in"},