diff --git a/inc/confutils.php b/inc/confutils.php
index 77f058e0e3046e1614ea73840bc6ae76204c4775..5b48e97dd2142645453273af223b4269eed243d8 100644
--- a/inc/confutils.php
+++ b/inc/confutils.php
@@ -168,10 +168,13 @@ function retrieveConfig($type,$fn) {
 
   $combined = array();
   if (!is_array($config_cascade[$type])) trigger_error('Missing config cascade for "'.$type.'"',E_USER_WARNING);
-  foreach ($config_cascade[$type] as $file) {
-    if (@file_exists($file)) {
-      $config = $fn($file);
-      $combined = array_merge($combined, $config);
+  foreach (array('default','local','protected') as $config_group) {
+    if (empty($config_cascade[$type][$config_group])) continue;
+    foreach ($config_cascade[$type][$config_group] as $file) {
+      if (@file_exists($file)) {
+        $config = $fn($file);
+        $combined = array_merge($combined, $config);
+      }
     }
   }
 
diff --git a/inc/init.php b/inc/init.php
index 9ef905d522a826d319a3087d75fbb5436876d80e..6ed0603176bd5c609bf78a212d0b7962673dd4a9 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -50,32 +50,32 @@
         'protected' => array(DOKU_CONF.'local.protected.php'),
       ),
       'acronyms'  => array(
-        'default'   => array(DOKU_CONF.'acronyms.php'),
-        'local'     => array(DOKU_CONF.'acronyms.local.php'),
+        'default'   => array(DOKU_CONF.'acronyms.conf'),
+        'local'     => array(DOKU_CONF.'acronyms.local.conf'),
       ),
       'entities'  => array(
-        'default'   => array(DOKU_CONF.'entities.php'),
-        'local'     => array(DOKU_CONF.'entities.local.php'),
+        'default'   => array(DOKU_CONF.'entities.conf'),
+        'local'     => array(DOKU_CONF.'entities.local.conf'),
       ),
       'interwiki' => array(
-        'default'   => array(DOKU_CONF.'interwiki.php'),
-        'local'     => array(DOKU_CONF.'interwiki.local.php'),
+        'default'   => array(DOKU_CONF.'interwiki.conf'),
+        'local'     => array(DOKU_CONF.'interwiki.local.conf'),
       ),
       'mime'      => array(
-        'default'   => array(DOKU_CONF.'mime.php'),
-        'local'     => array(DOKU_CONF.'mime.local.php'),
+        'default'   => array(DOKU_CONF.'mime.conf'),
+        'local'     => array(DOKU_CONF.'mime.local.conf'),
       ),
       'scheme'    => array(
-        'default'   => array(DOKU_CONF.'scheme.php'),
-        'local'     => array(DOKU_CONF.'scheme.local.php'),
+        'default'   => array(DOKU_CONF.'scheme.conf'),
+        'local'     => array(DOKU_CONF.'scheme.local.conf'),
       ),
       'smileys'   => array(
-        'default'   => array(DOKU_CONF.'smileys.php'),
-        'local'     => array(DOKU_CONF.'smileys.local.php'),
+        'default'   => array(DOKU_CONF.'smileys.conf'),
+        'local'     => array(DOKU_CONF.'smileys.local.conf'),
       ),
       'wordblock' => array(
-        'default'   => array(DOKU_CONF.'wordblock.php'),
-        'local'     => array(DOKU_CONF.'wordblock.local.php'),
+        'default'   => array(DOKU_CONF.'wordblock.conf'),
+        'local'     => array(DOKU_CONF.'wordblock.local.conf'),
       ),
     );
   }
@@ -85,8 +85,8 @@
   $conf = array();
 
   // load the global config file(s)
-  foreach ($config_cascade['main'] as $config_group) {
-    foreach ($config_group as $config_file) {
+  foreach (array('default','local','protected') as $config_group) {
+    foreach ($config_cascade['main'][$config_group] as $config_file) {
       @include($config_file);
     }
   }