diff --git a/software/ajaxplorer/buildout.hash.cfg b/software/ajaxplorer/buildout.hash.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..b900437936ff13bde006a523894b4fb35b88149d
--- /dev/null
+++ b/software/ajaxplorer/buildout.hash.cfg
@@ -0,0 +1,33 @@
+# THIS IS NOT A BUILDOUT FILE, despite purposedly using a compatible syntax.
+# The only allowed lines here are (regexes):
+# - "^#" comments, copied verbatim
+# - "^[" section beginings, copied verbatim
+# - lines containing an "=" sign which must fit in the following categorie.
+#   - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
+#     Copied verbatim.
+#   - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
+#     by the re-generation script.
+#     Re-generated.
+# - other lines are copied verbatim
+# Substitution (${...:...}), extension ([buildout] extends = ...) and
+# section inheritance (< = ...) are NOT supported (but you should really
+# not need these here).
+[instance]
+filename = instance.cfg
+md5sum = 4c7936accb3658871b635158198b7905
+
+[instance-apache]
+filename = instance-apachephp.cfg
+md5sum = a1ddbb63ffa0041b27eaea6df85cbd00
+
+[website1-template]
+filename = templates/index.html.in
+md5sum = c5695762361b801c284ee23a150cd1f1
+
+[website2-template]
+filename = templates/index.html.in
+md5sum = c5695762361b801c284ee23a150cd1f1
+
+[template-httpd-conf-hash]
+filename = templates/apache.conf.in
+md5sum = 6788381fadd8ca96f892d33df3163da0
diff --git a/software/ajaxplorer/software.cfg b/software/ajaxplorer/software.cfg
index d8b54ab8f8379ab5e51c1f07b64a68ccf961f732..d85f39434650fcec413c2dd60688bbbc63636ad9 100644
--- a/software/ajaxplorer/software.cfg
+++ b/software/ajaxplorer/software.cfg
@@ -13,6 +13,7 @@ parts =
   website2-template
 
 extends =
+  buildout.hash.cfg
   ../../stack/slapos.cfg
   ../../component/apache/buildout.cfg
   ../../component/apache-php/buildout.cfg
@@ -26,16 +27,14 @@ extends =
 
 [instance]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance.cfg
+url = ${:_profile_base_location_}/${:filename}
 output = ${buildout:directory}/template.cfg
 mode = 0644
-md5sum = 4c7936accb3658871b635158198b7905
 
 [instance-apache]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance-apachephp.cfg
+url = ${:_profile_base_location_}/${:filename}
 output = ${buildout:directory}/template-apachephp.cfg
-md5sum = a1ddbb63ffa0041b27eaea6df85cbd00
 mode = 0644
 
 [instance-mariadb]
@@ -61,24 +60,22 @@ paths =
 
 [website1-template]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/templates/index.html.in
+url = ${:_profile_base_location_}/${:filename}
 output = ${website:path1}/index.html
-md5sum = c5695762361b801c284ee23a150cd1f1
 mode = 0644
 
 [website2-template]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/templates/index.html.in
+url = ${:_profile_base_location_}/${:filename}
 output = ${website:path2}/index.html
-md5sum = c5695762361b801c284ee23a150cd1f1
 mode = 0644
 
 [template-httpd-conf]
 recipe = slapos.recipe.build:download
-url = ${:_profile_base_location_}/templates/${:filename}
+url = ${:_profile_base_location_}/${template-httpd-conf-hash:filename}
 mode = 0644
 filename = apache.conf.in
-md5sum = 6788381fadd8ca96f892d33df3163da0
+md5sum = ${template-httpd-conf-hash:md5sum}
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 
 [versions]