diff --git a/bin/memcacheSync.php b/bin/memcacheSync.php
index 13a41f99f5892f8cc86e814ce964208945f405b7..26c9cf7cd29247f908cc7436852a40cf35f69b21 100755
--- a/bin/memcacheSync.php
+++ b/bin/memcacheSync.php
@@ -25,7 +25,7 @@ require_once($baseDir . '/lib/_autoload.php');
 
 /* Initialize the configuration. */
 $configdir = $baseDir . '/config';
-SimpleSAML_Configuration::init($configdir);
+SimpleSAML_Configuration::setConfigDir($configdir);
 
 /* Things we should warn the user about. */
 $warnServerDown = 0;
diff --git a/lib/SimpleSAML/Auth/Source.php b/lib/SimpleSAML/Auth/Source.php
index f0a0c948b691c0c7c31c4b3d9fa6d11b024c8712..95e9b2a13c261e46dfcf9024b0390ad07d99a98c 100644
--- a/lib/SimpleSAML/Auth/Source.php
+++ b/lib/SimpleSAML/Auth/Source.php
@@ -163,8 +163,7 @@ abstract class SimpleSAML_Auth_Source {
 		assert('is_string($authId)');
 
 		/* For now - load and parse config file. */
-		$globalConfig = SimpleSAML_Configuration::getInstance();
-		$config = $globalConfig->copyFromBase('authsources', 'authsources.php');
+		$config = SimpleSAML_Configuration::getConfig('authsources.php');
 
 		$authConfig = $config->getValue($authId, NULL);
 		if ($authConfig === NULL) {
diff --git a/lib/SimpleSAML/AuthMemCookie.php b/lib/SimpleSAML/AuthMemCookie.php
index b9ec11f8fab6ca1c376545ca7968803638878bbb..771b737404021b5b07d2a7fa2b192cf6d366d0e8 100644
--- a/lib/SimpleSAML/AuthMemCookie.php
+++ b/lib/SimpleSAML/AuthMemCookie.php
@@ -40,9 +40,7 @@ class SimpleSAML_AuthMemCookie {
 	 */
 	private function __construct() {
 		/* Load Auth MemCookie configuration. */
-		$globalConfig = SimpleSAML_Configuration::getInstance();
-		SimpleSAML_Configuration::init($GLOBALS['configdir'], 'authmemcookie', 'authmemcookie.php');
-		$this->amcConfig = SimpleSAML_Configuration::getInstance('authmemcookie');
+		$this->amcConfig = SimpleSAML_Configuration::getConfig('authmemcookie.php');
 	}
 
 
diff --git a/lib/SimpleSAML/MetaShare/Store.php b/lib/SimpleSAML/MetaShare/Store.php
index 7e476b177552f922db3941e892b8c0c957905c53..69ee45f5cd6aa93f70b3626bf666fc35a8a83053 100644
--- a/lib/SimpleSAML/MetaShare/Store.php
+++ b/lib/SimpleSAML/MetaShare/Store.php
@@ -27,7 +27,7 @@ class SimpleSAML_MetaShare_Store {
 	 * singleton accessor.
 	 */
 	private function __construct() {
-		$metaConfig = SimpleSAML_Configuration::getInstance()->copyFromBase('metashare', 'metashare.php');
+		$metaConfig = SimpleSAML_Configuration::getConfig('metashare.php');
 		$this->metadataPath = $metaConfig->getString('metashare.path');
 		$this->metadataPath = SimpleSAML_Utilities::resolvePath($this->metadataPath);
 
diff --git a/modules/InfoCard/lib/Auth/Source/ICAuth.php b/modules/InfoCard/lib/Auth/Source/ICAuth.php
index 47d85f86cb22fef9d14a5cc87a42af66b311da45..94850fda37ef6cc8ce95fc1d725860a5edf4d3ef 100644
--- a/modules/InfoCard/lib/Auth/Source/ICAuth.php
+++ b/modules/InfoCard/lib/Auth/Source/ICAuth.php
@@ -45,8 +45,7 @@ class sspmod_InfoCard_Auth_Source_ICAuth extends SimpleSAML_Auth_Source {
 SimpleSAML_Logger::debug('ENTRA en icauth');
 		assert('is_string($authStateId)');		
 
-		$config = SimpleSAML_Configuration::getInstance();
-		$autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php');
+		$autoconfig = SimpleSAML_Configuration::getConfig('config-login-infocard.php');
 		$idp_key = $autoconfig->getValue('idp_key');
 		$sts_crt = $autoconfig->getValue('sts_crt');
 		$Infocard =   $autoconfig->getValue('InfoCard');
diff --git a/modules/InfoCard/www/getcardform.php b/modules/InfoCard/www/getcardform.php
index 992af0f57f19ed558f4e3586729ad5b0acc70176..27d7d85ecd23cbc7332d6f40be5c27d1cbd8377c 100644
--- a/modules/InfoCard/www/getcardform.php
+++ b/modules/InfoCard/www/getcardform.php
@@ -13,7 +13,7 @@
 
 /* Load the configuration. */
 $config = SimpleSAML_Configuration::getInstance();
-$autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php');
+$autoconfig = SimpleSAML_Configuration::getConfig('config-login-infocard.php');
 
 $Infocard =   $autoconfig->getValue('InfoCard');
 
diff --git a/modules/InfoCard/www/login-infocard.php b/modules/InfoCard/www/login-infocard.php
index af12e8f85300d961c2a58c62401565e70408836d..77c13e38b7c0ee9c938d219dbd31297c18d34968 100644
--- a/modules/InfoCard/www/login-infocard.php
+++ b/modules/InfoCard/www/login-infocard.php
@@ -13,7 +13,7 @@
 
 /* Load the configuration. */
 $config = SimpleSAML_Configuration::getInstance();
-$autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php');
+$autoconfig = SimpleSAML_Configuration::getConfig('config-login-infocard.php');
 
 $server_key = $autoconfig->getValue('server_key');
 $server_crt = $autoconfig->getValue('server_crt');
diff --git a/modules/InfoCard/www/mex.php b/modules/InfoCard/www/mex.php
index 43c6554c63899d587a37af19fde6b8c94bb2dc0c..8fd9d03041f2174cce210cf17d5f4e4d20368903 100644
--- a/modules/InfoCard/www/mex.php
+++ b/modules/InfoCard/www/mex.php
@@ -19,8 +19,7 @@ if ($method == "POST"){
 }
 
 
-$config = SimpleSAML_Configuration::getInstance();
-$autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php');
+$autoconfig = SimpleSAML_Configuration::getConfig('config-login-infocard.php');
 $ICconfig['tokenserviceurl'] = $autoconfig->getValue('tokenserviceurl');
 $ICconfig['certificates'] = $autoconfig->getValue('certificates');
 $ICconfig['UserCredential'] = $autoconfig->getValue('UserCredential');
diff --git a/modules/InfoCard/www/tokenservice.php b/modules/InfoCard/www/tokenservice.php
index 3c076dfafd4c81cfb8000045136335c6b13a17a5..62cc37bc50c4a79ffb763e65f3eb3870e7da2302 100644
--- a/modules/InfoCard/www/tokenservice.php
+++ b/modules/InfoCard/www/tokenservice.php
@@ -45,7 +45,6 @@ function decryptMcrypt($data,$key) {
 
 Header('Content-Type: application/soap+xml;charset=utf-8');
 
-$config = SimpleSAML_Configuration::getInstance();
 SimpleSAML_Logger::debug('Tokenservice');
 
 $token = new DOMDocument();
@@ -57,7 +56,7 @@ $cardId  =  $doc->getElementsByTagname('CardId')->item(0)->nodeValue;
 $authenticated = false;
 
 
-$autoconfig = $config->copyFromBase('logininfocard', 'config-login-infocard.php');
+$autoconfig = SimpleSAML_Configuration::getConfig('config-login-infocard.php');
 $ICconfig['UserCredential'] = $autoconfig->getValue('UserCredential');
 $debugDir = $autoconfig->getValue('debugDir');
 
diff --git a/modules/aggregator/www/index.php b/modules/aggregator/www/index.php
index 5cf8b605cf0ca8a7d0e0db1bb2f75aab73d3e082..0b0dd375e114092c1d133a88ca55eeabfea3bb4e 100644
--- a/modules/aggregator/www/index.php
+++ b/modules/aggregator/www/index.php
@@ -9,7 +9,7 @@ $metadataSets = array(
 	);
 
 $globalConfig = SimpleSAML_Configuration::getInstance();
-$aggregatorConfig = $globalConfig->copyFromBase('aggregator', 'aggregator.php');
+$aggregatorConfig = SimpleSAML_Configuration::getConfig('aggregator.php');
 
 $aggregators = $aggregatorConfig->getArray('aggragators');
 
diff --git a/modules/casserver/www/login.php b/modules/casserver/www/login.php
index a953bd66326946813d0cc00095c9cd81cd9362fc..cfe3a714c6da7f162fe020f4f36d43f1a832fdc6 100644
--- a/modules/casserver/www/login.php
+++ b/modules/casserver/www/login.php
@@ -31,7 +31,7 @@ if (array_key_exists('gateway', $_GET)) {
 
 /* Load simpleSAMLphp, configuration and metadata */
 $config = SimpleSAML_Configuration::getInstance();
-$casconfig = $config->copyFromBase('casconfig', 'module_casserver.php');
+$casconfig = SimpleSAML_Configuration::getConfig('module_casserver.php');
 $session = SimpleSAML_Session::getInstance();
 
 
diff --git a/modules/casserver/www/serviceValidate.php b/modules/casserver/www/serviceValidate.php
index 7b78932b4df8bdba7ffbc77d20dc52150984b770..ab1073954ab3574a9ea3e0614a96143f366eacc0 100644
--- a/modules/casserver/www/serviceValidate.php
+++ b/modules/casserver/www/serviceValidate.php
@@ -29,8 +29,7 @@ if (array_key_exists('renew', $_GET)) {
 
 try {
 	/* Load simpleSAMLphp, configuration and metadata */
-	$config = SimpleSAML_Configuration::getInstance();
-	$casconfig = $config->copyFromBase('casconfig', 'module_casserver.php');
+	$casconfig = SimpleSAML_Configuration::getConfig('module_casserver.php');
 	
 	
 	$path = $casconfig->resolvePath($casconfig->getValue('ticketcache', 'ticketcache'));
diff --git a/modules/casserver/www/validate.php b/modules/casserver/www/validate.php
index 4a2b326391cb42e70d7d8de3d3878dcfd0fa9fba..9d01c5a8483ca28c86dc27eaf60acff9a518435c 100644
--- a/modules/casserver/www/validate.php
+++ b/modules/casserver/www/validate.php
@@ -29,8 +29,7 @@ if (array_key_exists('renew', $_GET)) {
 
 try {
 	/* Load simpleSAMLphp, configuration and metadata */
-	$config = SimpleSAML_Configuration::getInstance();
-	$casconfig = $config->copyFromBase('casconfig', 'module_casserver.php');
+	$casconfig = SimpleSAML_Configuration::getConfig('module_casserver.php');
 	
 	
 	$path = $casconfig->resolvePath($casconfig->getValue('ticketcache', 'ticketcache'));
diff --git a/modules/certcheck/www/index.php b/modules/certcheck/www/index.php
index 329bf95255a2fab2f30175f3fb4d9cf3c32f17a0..4168aa1b6d38a669b91edf1d3f3c8358abebc100 100644
--- a/modules/certcheck/www/index.php
+++ b/modules/certcheck/www/index.php
@@ -24,8 +24,8 @@ function phpping($host, $port) {
 }
 
 
-$ldapconfig = $config->copyFromBase('loginfeide', 'config-login-feide.php');
-$ldapStatusConfig = $config->copyFromBase('ldapstatus', 'module_ldapstatus.php');
+$ldapconfig = SimpleSAML_Configuration::getConfig('config-login-feide.php');
+$ldapStatusConfig = SimpleSAML_Configuration::getConfig('module_ldapstatus.php');
 
 $pingcommand = $ldapStatusConfig->getValue('ping');
 
diff --git a/modules/consentSimpleAdmin/hooks/hook_sanitycheck.php b/modules/consentSimpleAdmin/hooks/hook_sanitycheck.php
index 9c207dc3a02130efde525f12fe1019c48bed762a..117d6022956cf3b9761e09d8a6334061e4d7ee74 100644
--- a/modules/consentSimpleAdmin/hooks/hook_sanitycheck.php
+++ b/modules/consentSimpleAdmin/hooks/hook_sanitycheck.php
@@ -9,8 +9,7 @@ function consentSimpleAdmin_hook_sanitycheck(&$hookinfo) {
 	assert('array_key_exists("info", $hookinfo)');
 
 	try {
-		$config = SimpleSAML_Configuration::getInstance();
-		$consentconfig = $config->copyFromBase('consentSimpleAdminConfig', 'module_consentSimpleAdmin.php');
+		$consentconfig = SimpleSAML_Configuration::getConfig('module_consentSimpleAdmin.php');
 	
 		// Parse consent config
 		$consent_storage = sspmod_consent_Store::parseStoreConfig($consentconfig->getValue('store'));
diff --git a/modules/consentSimpleAdmin/www/consentAdmin.php b/modules/consentSimpleAdmin/www/consentAdmin.php
index 17c05c71cd69985f3fece52e3798e3fb8e2d4de7..fba1e12a60d8937c44544b71f10b382d0b0c6cbc 100644
--- a/modules/consentSimpleAdmin/www/consentAdmin.php
+++ b/modules/consentSimpleAdmin/www/consentAdmin.php
@@ -14,7 +14,7 @@
 
 // Get config object
 $config = SimpleSAML_Configuration::getInstance();
-$consentconfig = $config->copyFromBase('consentSimpleAdminConfig', 'module_consentSimpleAdmin.php');
+$consentconfig = SimpleSAML_Configuration::getConfig('module_consentSimpleAdmin.php');
 
 // Get session object
 $session = SimpleSAML_Session::getInstance();
diff --git a/modules/consentSimpleAdmin/www/consentStats.php b/modules/consentSimpleAdmin/www/consentStats.php
index 433f4434daceaa1c01a23dee73a062718c1b7326..f27aee0d505f9bba9eb0852a5d68dc6f591afc01 100644
--- a/modules/consentSimpleAdmin/www/consentStats.php
+++ b/modules/consentSimpleAdmin/www/consentStats.php
@@ -12,7 +12,7 @@
 
 // Get config object
 $config = SimpleSAML_Configuration::getInstance();
-$consentconfig = $config->copyFromBase('consentSimpleAdminConfig', 'module_consentSimpleAdmin.php');
+$consentconfig = SimpleSAML_Configuration::getConfig('module_consentSimpleAdmin.php');
 
 
 // Parse consent config
diff --git a/modules/cron/hooks/hook_cron.php b/modules/cron/hooks/hook_cron.php
index 6113523d30130749412c687e33b418a540f482d4..27488d023fdf458973c3c3078cc8bc4529c35169 100644
--- a/modules/cron/hooks/hook_cron.php
+++ b/modules/cron/hooks/hook_cron.php
@@ -9,8 +9,7 @@ function cron_hook_cron(&$croninfo) {
 	assert('array_key_exists("summary", $croninfo)');
 	assert('array_key_exists("tag", $croninfo)');
 
-	$config = SimpleSAML_Configuration::getInstance();
-	$cronconfig = $config->copyFromBase('cron', 'module_cron.php');
+	$cronconfig = SimpleSAML_Configuration::getConfig('module_cron.php');
 	
 	if ($cronconfig->getValue('debug_message', TRUE)) {
 
diff --git a/modules/cron/www/cron.php b/modules/cron/www/cron.php
index 2f973fbe66c8f82bdf91051221caf89dbfc494e3..38076c58eb7b186a33e05fb66fab46ea2c25c997 100644
--- a/modules/cron/www/cron.php
+++ b/modules/cron/www/cron.php
@@ -1,7 +1,7 @@
 <?php
 
 $config = SimpleSAML_Configuration::getInstance();
-$cronconfig = $config->copyFromBase('cron', 'module_cron.php');
+$cronconfig = SimpleSAML_Configuration::getConfig('module_cron.php');
 
 if (!is_null($cronconfig->getValue('key'))) {
 	if ($_REQUEST['key'] !== $cronconfig->getValue('key')) {
diff --git a/modules/cron/www/croninfo.php b/modules/cron/www/croninfo.php
index 54122dc95184dcaafbd021470171c82e9dfcaf88..12e066792f614808f4b680ae36a8e45ea2735ecc 100644
--- a/modules/cron/www/croninfo.php
+++ b/modules/cron/www/croninfo.php
@@ -17,7 +17,7 @@ if (!isset($session) || !$session->isValid('login-admin') ) {
 	);
 }
 
-$cronconfig = $config->copyFromBase('cron', 'module_cron.php');
+$cronconfig = SimpleSAML_Configuration::getConfig('module_cron.php');
 
 $key = $cronconfig->getValue('key', '');
 $tags = $cronconfig->getValue('allowed_tags');
diff --git a/modules/discopower/lib/PowerIdPDisco.php b/modules/discopower/lib/PowerIdPDisco.php
index 54875c2f91ae93646ec68e618da8b587c955f1c6..ceb465c48b064ec67f7bc250646044e0c875e373 100644
--- a/modules/discopower/lib/PowerIdPDisco.php
+++ b/modules/discopower/lib/PowerIdPDisco.php
@@ -27,7 +27,7 @@ class sspmod_discopower_PowerIdPDisco extends SimpleSAML_XHTML_IdPDisco {
 
 		parent::__construct($discoType);
 
-		$this->discoconfig = $this->config->copyFromBase('discopower', 'module_discopower.php');
+		$this->discoconfig = SimpleSAML_Configuration::getConfig('module_discopower.php');
 
 	}
 
diff --git a/modules/ldapstatus/www/index.php b/modules/ldapstatus/www/index.php
index c6df46b8441651104bd79a637c3805521bcdcc44..0e178cfe18215af585b081f387e66a96027eef74 100644
--- a/modules/ldapstatus/www/index.php
+++ b/modules/ldapstatus/www/index.php
@@ -81,8 +81,8 @@ function myErrorHandler($errno, $errstr, $errfile, $errline) {
 
 
 
-$ldapconfig = $config->copyFromBase('loginfeide', 'config-login-feide.php');
-$ldapStatusConfig = $config->copyFromBase('ldapstatus', 'module_ldapstatus.php');
+$ldapconfig = SimpleSAML_Configuration::getConfig('config-login-feide.php');
+$ldapStatusConfig = SimpleSAML_Configuration::getConfig('module_ldapstatus.php');
 
 $debug = $ldapconfig->getValue('ldapDebug', FALSE);
 $orgs = $ldapconfig->getValue('orgldapconfig');
diff --git a/modules/logpeek/www/index.php b/modules/logpeek/www/index.php
index d1bd15adb925d7020baa8ce7d2ea65f80e1d38fa..691ff1628897e615ca924a98afea34163155499c 100644
--- a/modules/logpeek/www/index.php
+++ b/modules/logpeek/www/index.php
@@ -11,7 +11,7 @@ if (!$session->isValid('login-admin') ) {
 }
 
 
-$logpeekconfig = $config->copyFromBase('logpeek', 'module_logpeek.php');
+$logpeekconfig = SimpleSAML_Configuration::getConfig('module_logpeek.php');
 
 $logfile = $logpeekconfig->getValue('logfile', '/var/simplesamlphp.log');
 
diff --git a/modules/metarefresh/bin/metarefresh.php b/modules/metarefresh/bin/metarefresh.php
index 115be45a2d023711bacde779af203d436c92e12d..49bc648036baf2dbaad2c4b503e2c39904c09656 100755
--- a/modules/metarefresh/bin/metarefresh.php
+++ b/modules/metarefresh/bin/metarefresh.php
@@ -14,7 +14,7 @@ $baseDir = dirname(dirname(dirname(dirname(__FILE__))));
 require_once($baseDir . '/lib/_autoload.php');
 
 /* Initialize the configuration. */
-SimpleSAML_Configuration::init($baseDir . '/config');
+SimpleSAML_Configuration::setConfigDir($baseDir . '/config');
 
 /* $outputDir contains the directory we will store the generated metadata in. */
 $outputDir = $baseDir . '/metadata-generated';
diff --git a/modules/metarefresh/hooks/hook_cron.php b/modules/metarefresh/hooks/hook_cron.php
index a80a5551e3fb9099bb338a0e1e37f2b91323153a..d0a5ac514bb659be968a28772b4e5680d791a02a 100644
--- a/modules/metarefresh/hooks/hook_cron.php
+++ b/modules/metarefresh/hooks/hook_cron.php
@@ -13,7 +13,7 @@ function metarefresh_hook_cron(&$croninfo) {
 
 	try {
 		$config = SimpleSAML_Configuration::getInstance();
-		$mconfig = $config->copyFromBase('mconfig', 'config-metarefresh.php');
+		$mconfig = SimpleSAML_Configuration::getConfig('config-metarefresh.php');
 		
 		$sets = $mconfig->getValue('sets');
 		if (count($sets) < 1) return; 
diff --git a/modules/sanitycheck/hooks/hook_cron.php b/modules/sanitycheck/hooks/hook_cron.php
index 74c6f221bfc68fdf8524abfdb9ae62745fe180d8..68ee1b20e0703a41ca8807a40f0a678668139cef 100644
--- a/modules/sanitycheck/hooks/hook_cron.php
+++ b/modules/sanitycheck/hooks/hook_cron.php
@@ -13,8 +13,7 @@ function sanitycheck_hook_cron(&$croninfo) {
 
 	try {
 	
-		$config = SimpleSAML_Configuration::getInstance();
-		$sconfig = $config->copyFromBase('sconfig', 'config-sanitycheck.php');
+		$sconfig = SimpleSAML_Configuration::getConfig('config-sanitycheck.php');
 		
 		if (is_null($sconfig->getValue('cron_tag', NULL))) return;
 		if ($sconfig->getValue('cron_tag', NULL) !== $croninfo['tag']) return;
diff --git a/modules/sanitycheck/www/index.php b/modules/sanitycheck/www/index.php
index b177bae6e01e4ba55ba647b3d9126ccb5ad3e30a..3446187d45a97a75ccee42a31d07b6f431aec9cf 100644
--- a/modules/sanitycheck/www/index.php
+++ b/modules/sanitycheck/www/index.php
@@ -2,7 +2,7 @@
 
 
 $config = SimpleSAML_Configuration::getInstance();
-$sconfig = $config->copyFromBase('sconfig', 'config-sanitycheck.php');
+$sconfig = SimpleSAML_Configuration::getConfig('config-sanitycheck.php');
 
 $info = array();
 $errors = array();
diff --git a/modules/statistics/bin/loganalyzer.php b/modules/statistics/bin/loganalyzer.php
index fb64f353187b67d770aab4bff945fb684aa423bb..a34f08bd6a0ecdcada4adc43840f31fe955e515b 100755
--- a/modules/statistics/bin/loganalyzer.php
+++ b/modules/statistics/bin/loganalyzer.php
@@ -9,7 +9,7 @@ $baseDir = dirname(dirname(dirname(dirname(__FILE__))));
 require_once($baseDir . '/lib/_autoload.php');
 
 /* Initialize the configuration. */
-SimpleSAML_Configuration::init($baseDir . '/config');
+SimpleSAML_Configuration::setConfigDir($baseDir . '/config');
 
 
 
diff --git a/modules/statistics/hooks/hook_cron.php b/modules/statistics/hooks/hook_cron.php
index 87d599078f83a3a19d13c6f53a09dddcb3131267..1847682d6c139e6ef30e1105d6ffcffb2f333ab2 100644
--- a/modules/statistics/hooks/hook_cron.php
+++ b/modules/statistics/hooks/hook_cron.php
@@ -9,8 +9,7 @@ function statistics_hook_cron(&$croninfo) {
 	assert('array_key_exists("summary", $croninfo)');
 	assert('array_key_exists("tag", $croninfo)');
 
-	$config = SimpleSAML_Configuration::getInstance();
-	$statconfig = $config->copyFromBase('statconfig', 'module_statistics.php');
+	$statconfig = SimpleSAML_Configuration::getConfig('module_statistics.php');
 	
 	if (is_null($statconfig->getValue('cron_tag', NULL))) return;
 	if ($statconfig->getValue('cron_tag', NULL) !== $croninfo['tag']) return;
diff --git a/modules/statistics/hooks/hook_sanitycheck.php b/modules/statistics/hooks/hook_sanitycheck.php
index 822561a8203d304e441e777c6331162edb3c8c41..ab10ea38159425df8210bfdc914d9069e0e6a6d8 100644
--- a/modules/statistics/hooks/hook_sanitycheck.php
+++ b/modules/statistics/hooks/hook_sanitycheck.php
@@ -10,8 +10,7 @@ function statistics_hook_sanitycheck(&$hookinfo) {
 	assert('array_key_exists("info", $hookinfo)');
 
 	try {
-		$config = SimpleSAML_Configuration::getInstance();
-		$statconfig = $config->copyFromBase('statconfig', 'module_statistics.php');
+		$statconfig = SimpleSAML_Configuration::getConfig('module_statistics.php');
 	} catch(Exception $e) {
 		$hookinfo['errors'][] = '[statistics] Could not get configuration: ' . $e->getMessage(); return;
 	}
diff --git a/modules/statistics/lib/Aggregator.php b/modules/statistics/lib/Aggregator.php
index 6a75354e0d5071961006c79e70d74de0f84cd1db..4ba6e362ea0166ef2ae03e66b765fafef935132d 100644
--- a/modules/statistics/lib/Aggregator.php
+++ b/modules/statistics/lib/Aggregator.php
@@ -6,7 +6,6 @@
  */
 class sspmod_statistics_Aggregator {
 
-	private $config;
 	private $statconfig;
 	private $statdir;
 	private $inputfile;
@@ -18,8 +17,7 @@ class sspmod_statistics_Aggregator {
 	 */
 	public function __construct() {
 	
-		$this->config = SimpleSAML_Configuration::getInstance();
-		$this->statconfig = $this->config->copyFromBase('statconfig', 'module_statistics.php');
+		$this->statconfig = SimpleSAML_Configuration::getConfig('module_statistics.php');
 		
 		$this->statdir = $this->statconfig->getValue('statdir');
 		$this->inputfile = $this->statconfig->getValue('inputfile');
diff --git a/modules/statistics/www/showstats.php b/modules/statistics/www/showstats.php
index 9ca6399f70d20527b7e8f00e7749dabf7b1e7d58..c41de5dad7e72222f3b048b4d7f66cd3c20d9dca 100644
--- a/modules/statistics/www/showstats.php
+++ b/modules/statistics/www/showstats.php
@@ -1,7 +1,7 @@
 <?php
 
 $config = SimpleSAML_Configuration::getInstance();
-$statconfig = $config->copyFromBase('statconfig', 'module_statistics.php');
+$statconfig = SimpleSAML_Configuration::getConfig('module_statistics.php');
 
 $statdir = $statconfig->getValue('statdir');
 $inputfile = $statconfig->getValue('inputfile');
diff --git a/www/_include.php b/www/_include.php
index 4afefbbedfd96ae90f7564e06afa25cb1e424e56..a3d64029e8a3b149641d5ce002e0b02ce3e16670 100644
--- a/www/_include.php
+++ b/www/_include.php
@@ -62,8 +62,7 @@ if (!file_exists($configdir . '/config.php')) {
 	exit(1);
 }
 
-SimpleSAML_Configuration::init($configdir);
-SimpleSAML_Configuration::setConfigDir($configdir, 'simplesaml');
+SimpleSAML_Configuration::setConfigDir($configdir);
 
 
 
diff --git a/www/auth/login-auto.php b/www/auth/login-auto.php
index 859597e9c92419597ea6d4441ed5b5d6ba474775..e947506ec64cce17af64cf4536a4b7422929f040 100644
--- a/www/auth/login-auto.php
+++ b/www/auth/login-auto.php
@@ -21,7 +21,7 @@ require_once('../../www/_include.php');
 
 /* Load the configuration. */
 $config = SimpleSAML_Configuration::getInstance();
-$autoconfig = $config->copyFromBase('loginauto', 'config-login-auto.php');
+$autoconfig = SimpleSAML_Configuration::getConfig('config-login-auto.php');
 
 
 $enable = (bool)$autoconfig->getValue('auth.auto.enable');
diff --git a/www/auth/login-feide.php b/www/auth/login-feide.php
index efec4e21abd34b2f6f8e75cec91abefa47054255..38365766b4f40873101a46e9a8a1595be1ea75c1 100644
--- a/www/auth/login-feide.php
+++ b/www/auth/login-feide.php
@@ -21,7 +21,7 @@
 require_once('../../www/_include.php');
 
 $config = SimpleSAML_Configuration::getInstance();
-$ldapconfig = $config->copyFromBase('loginfeide', 'config-login-feide.php');
+$ldapconfig = SimpleSAML_Configuration::getConfig('config-login-feide.php');
 $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler();
 $session = SimpleSAML_Session::getInstance();
 
diff --git a/www/auth/login-tlsclient.php b/www/auth/login-tlsclient.php
index 8fd3f534c2db8055a9c0cb269784d5452289291c..9570945cb7204277edf8b531e6f09daacc3ce44e 100644
--- a/www/auth/login-tlsclient.php
+++ b/www/auth/login-tlsclient.php
@@ -9,8 +9,7 @@ $session = SimpleSAML_Session::getInstance();
 
 SimpleSAML_Logger::info('AUTH  - ldap: Accessing auth endpoint login');
 
-SimpleSAML_Configuration::init($configdir, 'ldapconfig', 'ldap.php');
-$ldapconfig = SimpleSAML_Configuration::getInstance('ldapconfig');
+$ldapconfig = SimpleSAML_Configuration::getConfig('ldap.php');
 
 
 $error = null;
diff --git a/www/auth/login.php b/www/auth/login.php
index 289de746785d74ae4d4a7444c19561484786d7cc..e92564b0d8e21cf8b9dd7b041daacc121afb9405 100644
--- a/www/auth/login.php
+++ b/www/auth/login.php
@@ -9,8 +9,7 @@ $session = SimpleSAML_Session::getInstance();
 
 SimpleSAML_Logger::info('AUTH  - ldap: Accessing auth endpoint login');
 
-SimpleSAML_Configuration::init($configdir, 'ldapconfig', 'ldap.php');
-$ldapconfig = SimpleSAML_Configuration::getInstance('ldapconfig');
+$ldapconfig = SimpleSAML_Configuration::getConfig('ldap.php');
 
 
 $error = null;
diff --git a/www/metashare/add.php b/www/metashare/add.php
index 138d07b5b1b7bfb923cc3e623a5bb21d184b5222..bd42b2cf284442f5fac3f07d9b4628729c65613a 100644
--- a/www/metashare/add.php
+++ b/www/metashare/add.php
@@ -7,7 +7,7 @@ require_once('../_include.php');
  */
 
 $config = SimpleSAML_Configuration::getInstance();
-$metaConfig = $config->copyFromBase('metashare', 'metashare.php');
+$metaConfig = SimpleSAML_Configuration::getConfig('metashare.php');
 
 if(!$metaConfig->getBoolean('metashare.enable', FALSE)) {
 	header('HTTP/1.0 401 Forbidden');
diff --git a/www/metashare/download.php b/www/metashare/download.php
index 5b50e1abeddb89aecd56a495d634cd67d255c521..b509caee88af6c410d5676ed4c2488b3d9e546ce 100644
--- a/www/metashare/download.php
+++ b/www/metashare/download.php
@@ -6,7 +6,7 @@ require_once('../_include.php');
  * This page handles downloading of single metadata entries from the MetaShare.
  */
 
-$metaConfig = SimpleSAML_Configuration::getInstance()->copyFromBase('metashare', 'metashare.php');
+$metaConfig = SimpleSAML_Configuration::getConfig('metashare.php');
 
 if(!$metaConfig->getBoolean('metashare.enable', FALSE)) {
 	header('HTTP/1.0 401 Forbidden');
diff --git a/www/metashare/downloadall.php b/www/metashare/downloadall.php
index 8eb5815f414ba1d5047595cfa7866a7013edd74d..c4a4a1421f2670f960da18f16d528602718149fa 100644
--- a/www/metashare/downloadall.php
+++ b/www/metashare/downloadall.php
@@ -6,7 +6,7 @@ require_once('../_include.php');
  * This page handles downloading of all metadata entries from the MetaShare.
  */
 
-$metaConfig = SimpleSAML_Configuration::getInstance()->copyFromBase('metashare', 'metashare.php');
+$metaConfig = SimpleSAML_Configuration::getConfig('metashare.php');
 
 if(!$metaConfig->getBoolean('metashare.enable', FALSE)) {
 	header('HTTP/1.0 401 Forbidden');
diff --git a/www/metashare/index.php b/www/metashare/index.php
index 920ecc873858c4a031fa6e311e27c7f969a5f72c..759194c863fae6007017bb6d7a3218f3b113ae06 100644
--- a/www/metashare/index.php
+++ b/www/metashare/index.php
@@ -7,7 +7,7 @@ require_once('../_include.php');
  */
 
 $config = SimpleSAML_Configuration::getInstance();
-$metaConfig = $config->copyFromBase('metashare', 'metashare.php');
+$metaConfig = SimpleSAML_Configuration::getConfig('metashare.php');
 
 if(!$metaConfig->getBoolean('metashare.enable', FALSE)) {
 	header('HTTP/1.0 401 Forbidden');