diff --git a/apps/user_ldap/lib/configuration.php b/apps/user_ldap/lib/configuration.php
index 612a623e910eb178c7b751a58b31b9b0c8283311..d42b1c05820ce8b85092034853057610e6c009a2 100644
--- a/apps/user_ldap/lib/configuration.php
+++ b/apps/user_ldap/lib/configuration.php
@@ -119,9 +119,9 @@ class Configuration {
 
 		$cta = $this->getConfigTranslationArray();
 		foreach($config as $inputkey => $val) {
-			if(strpos($inputkey, '_') !== false && isset($cta[$inputkey])) {
+			if(strpos($inputkey, '_') !== false && array_key_exists($inputkey, $cta)) {
 				$key = $cta[$inputkey];
-			} elseif(isset($this->config[$inputkey])) {
+			} elseif(array_key_exists($inputkey, $this->config)) {
 				$key = $inputkey;
 			} else {
 				continue;
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index b2075748a3bab72226e61c82b8bb5b4563e516c8..08ac4ac626b6a3718eb49fa88c5ee8ef04e366af 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -78,6 +78,8 @@ class Connection extends LDAPUtility {
 		//a cloned instance inherits the connection resource. It may use it,
 		//but it may not disconnect it
 		$this->dontDestruct = true;
+		$this->configuration = new Configuration($this->configPrefix,
+												 !is_null($this->configID));
 	}
 
 	public function __get($name) {
diff --git a/apps/user_ldap/tests/connection.php b/apps/user_ldap/tests/connection.php
new file mode 100644
index 0000000000000000000000000000000000000000..f51b0c830173361ff70da5e6a7f81a1bfc72e811
--- /dev/null
+++ b/apps/user_ldap/tests/connection.php
@@ -0,0 +1,54 @@
+<?php
+/**
+* ownCloud
+*
+* @author Arthur Schiwon
+* @copyright 2013 Arthur Schiwon blizzz@owncloud.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+namespace OCA\user_ldap\tests;
+
+class Test_Connection extends \PHPUnit_Framework_TestCase {
+
+	public function testOriginalAgentUnchangedOnClone() {
+		//background: upon login a bind is done with the user credentials
+		//which is valid for the whole LDAP resource. It needs to be reset
+		//to the agent's credentials
+		$lw  = $this->getMock('\OCA\user_ldap\lib\ILDAPWrapper');
+
+		$connection = new \OCA\user_ldap\lib\Connection($lw, '', null);
+		$agent = array(
+			'ldapAgentName' => 'agent',
+			'ldapAgentPassword' => '123456',
+		);
+		$connection->setConfiguration($agent);
+
+		$testConnection = clone $connection;
+		$user = array(
+			'ldapAgentName' => 'user',
+			'ldapAgentPassword' => 'password',
+		);
+		$testConnection->setConfiguration($user);
+
+		$agentName = $connection->ldapAgentName;
+		$agentPawd = $connection->ldapAgentPassword;
+
+		$this->assertSame($agentName, $agent['ldapAgentName']);
+		$this->assertSame($agentPawd, $agent['ldapAgentPassword']);
+	}
+
+}
\ No newline at end of file