diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php
index 49035292dac4bc4e2c9b5c5c3d6282c51892ea4e..713a797379902ed197b222e11822c382cf4a9bb4 100644
--- a/lib/SimpleSAML/Configuration.php
+++ b/lib/SimpleSAML/Configuration.php
@@ -9,24 +9,24 @@
  */
 class SimpleSAML_Configuration {
 
-	private static $instance = null;
+	private static $instance = array();
 
 	private $configpath = null;	
 	private $configuration = null;
 
 	// private constructor restricts instantiaton to getInstance()
 	private function __construct($configpath) {
-
 		$this->configpath = $configpath;
-
 	}
 	
-	public static function getInstance() {
-		return self::$instance;
+	public static function getInstance($instancename = 'simplesaml') {
+		if (!array_key_exists($instancename, self::$instance)) 
+			throw new Exception('Configuration with name ' . $instancename . ' is not initialized.');
+		return self::$instance[$instancename];
 	}
 	
-	public static function init($path) {
-		self::$instance = new SimpleSAML_Configuration($path);
+	public static function init($path, $instancename = 'simplesaml') {
+		self::$instance[$instancename] = new SimpleSAML_Configuration($path);
 	}
 
 	private function loadConfig() {