diff --git a/apps/user_ldap/lib/Mapping/AbstractMapping.php b/apps/user_ldap/lib/Mapping/AbstractMapping.php
index 64973d7d7cc816c4bdcae0a6da4653257740cdff..15f95744cd0d048ae9fab81f354e8df32e8d150c 100644
--- a/apps/user_ldap/lib/Mapping/AbstractMapping.php
+++ b/apps/user_ldap/lib/Mapping/AbstractMapping.php
@@ -190,30 +190,18 @@ abstract class AbstractMapping {
 	}
 
 	public function getListOfIdsByDn(array $fdns): array {
-		$fdnsSlice = count($fdns) > 1000 ? array_slice($fdns, 0, 1000) : $fdns;
 		$qb = $this->dbc->getQueryBuilder();
 		$qb->select('owncloud_name', 'ldap_dn')
 			->from($this->getTableName(false))
-			->where($qb->expr()->in('ldap_dn', $qb->createNamedParameter($fdnsSlice, QueryBuilder::PARAM_STR_ARRAY)));
-
-		$slice = 1;
-		while (isset($fdnsSlice[999])) {
-			// Oracle does not allow more than 1000 values in the IN list,
-			// but allows slicing
-			$fdnsSlice = array_slice($fdns, 1000 * $slice, 1000);
-			if (!empty($fdnsSlice)) {
-				$qb->orWhere($qb->expr()->in('ldap_dn', $qb->createNamedParameter($fdnsSlice, QueryBuilder::PARAM_STR_ARRAY)));
-			}
-			$slice++;
-		}
-
+			->where($qb->expr()->in('ldap_dn', $qb->createNamedParameter($fdns, QueryBuilder::PARAM_STR_ARRAY)));
 		$stmt = $qb->execute();
-		$results = [];
-		while ($entry = $stmt->fetch(\Doctrine\DBAL\FetchMode::ASSOCIATIVE)) {
+
+		$results = $stmt->fetchAll(\Doctrine\DBAL\FetchMode::ASSOCIATIVE);
+		foreach ($results as $key => $entry) {
+			unset($results[$key]);
 			$results[$entry['ldap_dn']] = $entry['owncloud_name'];
 			$this->cache[$entry['ldap_dn']] = $entry['owncloud_name'];
 		}
-		$stmt->closeCursor();
 
 		return $results;
 	}
diff --git a/apps/user_ldap/tests/Mapping/AbstractMappingTest.php b/apps/user_ldap/tests/Mapping/AbstractMappingTest.php
index dd322d58a8ed49700b701aa4c614f7f67f482f1c..079c2e21b10697f3ded1d36541b77081ac908970 100644
--- a/apps/user_ldap/tests/Mapping/AbstractMappingTest.php
+++ b/apps/user_ldap/tests/Mapping/AbstractMappingTest.php
@@ -281,23 +281,4 @@ abstract class AbstractMappingTest extends \Test\TestCase {
 		$results = $mapper->getList(1, 1);
 		$this->assertSame(1, count($results));
 	}
-
-	public function testGetListOfIdsByDn() {
-		/** @var AbstractMapping $mapper */
-		list($mapper,) = $this->initTest();
-
-		$listOfDNs = [];
-		for ($i = 0; $i < 65640; $i++) {
-			// Postgres has a limit of 65535 values in a single IN list
-			$name = 'as_' . $i;
-			$dn = 'uid=' . $name . ',dc=example,dc=org';
-			$listOfDNs[] = $dn;
-			if ($i % 20 === 0) {
-				$mapper->map($dn, $name, 'fake-uuid-' . $i);
-			}
-		}
-
-		$result = $mapper->getListOfIdsByDn($listOfDNs);
-		$this->assertSame(65640 / 20, count($result));
-	}
 }