diff --git a/lib/private/user/dummy.php b/lib/private/user/dummy.php
index b5b7a6c3c7ac7b135cc5abc0520a7d2b4246f155..52be7edfa7534433c364772831562b45ceeeae33 100644
--- a/lib/private/user/dummy.php
+++ b/lib/private/user/dummy.php
@@ -88,8 +88,8 @@ class OC_User_Dummy extends OC_User_Backend {
 	 * returns the user id or false
 	 */
 	public function checkPassword($uid, $password) {
-		if (isset($this->users[$uid])) {
-			return ($this->users[$uid] == $password);
+		if (isset($this->users[$uid]) && $this->users[$uid] === $password) {
+			return $uid;
 		} else {
 			return false;
 		}
diff --git a/tests/lib/user/backend.php b/tests/lib/user/backend.php
index 40674424c96efb918f0c518532566122a4c60e80..1384c54a92161dd8971d53f1803a97acb4cc1852 100644
--- a/tests/lib/user/backend.php
+++ b/tests/lib/user/backend.php
@@ -39,7 +39,7 @@ abstract class Test_User_Backend extends PHPUnit_Framework_TestCase {
 	/**
 	 * get a new unique user name
 	 * test cases can override this in order to clean up created user
-	 * @return array
+	 * @return string
 	 */
 	public function getUser() {
 		return uniqid('test_');
@@ -82,8 +82,8 @@ abstract class Test_User_Backend extends PHPUnit_Framework_TestCase {
 		$this->assertTrue($this->backend->userExists($name1));
 		$this->assertTrue($this->backend->userExists($name2));
 		
-		$this->assertTrue($this->backend->checkPassword($name1, 'pass1'));
-		$this->assertTrue($this->backend->checkPassword($name2, 'pass2'));
+		$this->assertSame($name1, $this->backend->checkPassword($name1, 'pass1'));
+		$this->assertSame($name2, $this->backend->checkPassword($name2, 'pass2'));
 		
 		$this->assertFalse($this->backend->checkPassword($name1, 'pass2'));
 		$this->assertFalse($this->backend->checkPassword($name2, 'pass1'));
@@ -93,7 +93,7 @@ abstract class Test_User_Backend extends PHPUnit_Framework_TestCase {
 		
 		$this->backend->setPassword($name1, 'newpass1');
 		$this->assertFalse($this->backend->checkPassword($name1, 'pass1'));
-		$this->assertTrue($this->backend->checkPassword($name1, 'newpass1'));
+		$this->assertSame($name1, $this->backend->checkPassword($name1, 'newpass1'));
 		$this->assertFalse($this->backend->checkPassword($name2, 'newpass1'));
 	}
 }
diff --git a/tests/lib/user/database.php b/tests/lib/user/database.php
index fe7d87c44de2bc9a2cd564e8993ae3f25a6728dd..d7cc39ae387831e48c78891d4fe691ae7ccd392d 100644
--- a/tests/lib/user/database.php
+++ b/tests/lib/user/database.php
@@ -21,19 +21,14 @@
 */
 
 class Test_User_Database extends Test_User_Backend {
-	/**
-	 * get a new unique user name
-	 * test cases can override this in order to clean up created user
-	 * @return array
-	 */
 	public function getUser() {
-		$user=uniqid('test_');
+		$user = parent::getUser();
 		$this->users[]=$user;
 		return $user;
 	}
 	
 	public function setUp() {
-		$this->backend=new OC_User_Dummy();
+		$this->backend=new OC_User_Database();
 	}
 	
 	public function tearDown() {