diff --git a/lib/db.php b/lib/db.php
index 20adff30787fb955a7855d30c86b85bdc767a8e6..ef6d1dcc8b7a5ed13f4c83477f521f38613c3479 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -43,6 +43,9 @@ class OC_DB {
 	 * Connects to the database as specified in config.php
 	 */
 	public static function connect(){
+		if(self::$connection){
+			return;
+		}
 		if(class_exists('PDO') && OC_Config::getValue('installed', false)){//check if we can use PDO, else use MDB2 (instalation always needs to be done my mdb2)
 			self::connectPDO();
 			self::$connection=self::$PDO;
@@ -64,8 +67,7 @@ class OC_DB {
 		$user = OC_Config::getValue( "dbuser", "" );
 		$pass = OC_Config::getValue( "dbpassword", "" );
 		$type = OC_Config::getValue( "dbtype", "sqlite" );
-		$SERVERROOT=OC::$SERVERROOT;
-		$datadir=OC_Config::getValue( "datadirectory", "$SERVERROOT/data" );
+		$datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' );
 		
 		// do nothing if the connection already has been established
 		if(!self::$PDO){