diff --git a/software/seleniumrunner/buildout.hash.cfg b/software/seleniumrunner/buildout.hash.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..cbdd3bd4758730bb546b00cf6bbdddb53c0f3963
--- /dev/null
+++ b/software/seleniumrunner/buildout.hash.cfg
@@ -0,0 +1,22 @@
+# 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).
+
+[template]
+filename = instance.cfg.in
+md5sum = c4ac5de141ae6a64848309af03e51d88
+
+[template-selenium]
+filename = instance-selenium.cfg.in
+md5sum = 8be91f4515decef0f8af5910e43e0e52
diff --git a/software/seleniumrunner/instance-selenium.cfg b/software/seleniumrunner/instance-selenium.cfg.in
similarity index 100%
rename from software/seleniumrunner/instance-selenium.cfg
rename to software/seleniumrunner/instance-selenium.cfg.in
diff --git a/software/seleniumrunner/instance.cfg b/software/seleniumrunner/instance.cfg.in
similarity index 100%
rename from software/seleniumrunner/instance.cfg
rename to software/seleniumrunner/instance.cfg.in
diff --git a/software/seleniumrunner/software.cfg b/software/seleniumrunner/software.cfg
index 8e51908aeddae8dbd5d8e2e3bbb4cf35a0ed008d..673953e3ab5f4e24e33bfec9411a363e4b8dd8b2 100644
--- a/software/seleniumrunner/software.cfg
+++ b/software/seleniumrunner/software.cfg
@@ -5,6 +5,7 @@ extends =
    ../../component/firefox/buildout.cfg
    ../../component/dash/buildout.cfg
    ../../stack/slapos.cfg
+   ./buildout.hash.cfg
 
 # develop += /opt/slapdev
 
@@ -30,20 +31,19 @@ recipe = zc.recipe.egg
 eggs =
   ${lxml-python:egg}
 
-[template]
-# Default template for the instance.
+
+[macro-template]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance.cfg
-md5sum = c4ac5de141ae6a64848309af03e51d88
-output = ${buildout:directory}/template.cfg
+url = ${:_profile_base_location_}/${:filename}
 mode = 0644
 
+[template]
+<= macro-template
+output = ${buildout:directory}/template.cfg
+
 [template-selenium]
-recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance-selenium.cfg
-md5sum = 8be91f4515decef0f8af5910e43e0e52
+<= macro-template
 output = ${buildout:directory}/template-selenium.cfg
-mode = 0644
 
 [versions]
 plone.recipe.command = 1.1