diff --git a/lib/Db/ExtMapper.php b/lib/Db/ExtMapper.php
index f1cab3537ea412b2a038609788bf12ddbe0ae1a0..278a3dbd4430e28b485dfdcda37604514fbe9545 100644
--- a/lib/Db/ExtMapper.php
+++ b/lib/Db/ExtMapper.php
@@ -93,7 +93,7 @@ abstract class ExtMapper extends QBMapper {
 
     protected function queryRows($query) {
         $stmt = $query->execute();
-        $rows = [];
+		$rows = [];
         while ($row = $stmt->fetch()) {
             $rows[] = $row;
         }
diff --git a/lib/Db/OC/AccountsMapper.php b/lib/Db/OC/AccountsMapper.php
index bd9f7c7d7fe247089b058e6909824ccfe3a7cd23..0d8dfd12ef486e0d4457e75a3307f37f504da4ef 100644
--- a/lib/Db/OC/AccountsMapper.php
+++ b/lib/Db/OC/AccountsMapper.php
@@ -9,7 +9,6 @@ use OCP\DB\Exception;
 use OCP\IDBConnection;
 use OCP\DB\QueryBuilder\IQueryBuilder;
 use OCA\SccuotNC\Service\ConfigService;
-use PDO;
 
 class AccountsMapper extends ExtMapper {
     const PREFERENCES_TABLE = 'preferences';
@@ -58,15 +57,10 @@ class AccountsMapper extends ExtMapper {
 	 * @throws \Exception
 	 */
 	public function queryUserStorages(): array {
-		$activeUsers = $this->getActiveUsers();
 		$data = [
 			'storages' => []
 		];
 
-		if (empty($activeUsers)) {
-			return $data['storages'];
-		}
-
 		$query = $this->getQueryBuilder();
 
 		$query->selectAlias('fc.size', 's')
@@ -74,9 +68,8 @@ class AccountsMapper extends ExtMapper {
 			->from('accounts', 'a')
 			->join('a', StoragesMapper::STORAGES_TABLE, 's', "s.id = CONCAT('home::', a.uid)")
 			->join('s', FilecacheMapper::FILECACHE_TABLE, 'fc', 'fc.storage = s.numeric_id')
-			->where($query->expr()->eq('fc.path', $query->createPositionalParameter('files')))
-			->andWhere($query->expr()->in('a.uid', $query->createPositionalParameter($activeUsers, IQueryBuilder::PARAM_STR_ARRAY)));
-
+			->where($query->expr()->eq('fc.path', $query->createPositionalParameter('files')));
+			$this->addUserAccountsCondition($query);
 		foreach ($this->queryRows($query) as $row) {
 			$data['storages'][] = intval($row['s']);
 		}
@@ -85,24 +78,17 @@ class AccountsMapper extends ExtMapper {
 	}
 
 	public function queryUserQuotas($defaultQuotas) {
-		$activeUsers = $this->getActiveUsers();
 		$data = [
 			'quotas' => []
 		];
-
-		if (empty($activeUsers)) {
-			return $data['quotas'];
-		}
-
 		$query = $this->getQueryBuilder();
 
 		$query->selectDistinct('a.uid')
 			->selectAlias('p.configvalue', 'quota')
 			->from(self::ACCOUNTS_TABLE, 'a')
 			->join('a', self::PREFERENCES_TABLE, 'p', 'a.uid = p.userid')
-			->andWhere($query->expr()->eq('p.configkey', $query->createPositionalParameter('quota')))
-			->andWhere($query->expr()->in('a.uid', $query->createPositionalParameter($activeUsers, IQueryBuilder::PARAM_STR_ARRAY)));
-
+			->andWhere($query->expr()->eq('p.configkey', $query->createPositionalParameter('quota')));
+			$this->addUserAccountsCondition($query);
 		// Execute query and process results
 		foreach ($this->queryRows($query) as $row) {
 			$defaultQuota = $this->findDefaultQuota($defaultQuotas, $row['quota']);
@@ -126,18 +112,13 @@ class AccountsMapper extends ExtMapper {
 		return false;
 	}
 
-	protected function getActiveUsers(): array {
-		$deactivatedUsers = $this->configService->config()->getUsersForUserValue('core', 'enabled', 'false');
-		$qb = $this->db->getQueryBuilder();
-		$qb->select('uid')
-			->from(self::ACCOUNTS_TABLE);
-
-		$stmt = $qb->execute();
-		$result = $stmt->fetchAll(PDO::FETCH_COLUMN);
-		$stmt->closeCursor();
-
-		$activeUsers = array_diff($result, $deactivatedUsers);
-		return $activeUsers;
-	}
+	private function addUserAccountsCondition(IQueryBuilder $query): void {
+			$qDU = $this->getQueryBuilder();
+			$qDU->selectDistinct('userid')
+				->from(self::PREFERENCES_TABLE)
+				->where($qDU->expr()->eq('configkey', $qDU->expr()->literal('enabled')))
+				->andWhere($qDU->expr()->eq('configvalue', $qDU->expr()->literal('false')));
 
+			$query->andWhere($query->expr()->notIn('a.uid', $query->createFunction($qDU->getSQL())));
+		}
 }
diff --git a/lib/Db/OC/FilecacheMapper.php b/lib/Db/OC/FilecacheMapper.php
index 87156357f48f09c2426b95f763551c6601fbc82a..8869d32b4f2ff53c8e07fdca5328ffc43921e5f1 100644
--- a/lib/Db/OC/FilecacheMapper.php
+++ b/lib/Db/OC/FilecacheMapper.php
@@ -4,7 +4,6 @@ namespace OCA\SccuotNC\Db\OC;
 
 use OCA\SccuotNC\Db\ExtMapper;
 
-use OCA\SccuotNC\Service\ConfigService;
 use OCP\DB\QueryBuilder\IQueryBuilder;
 use OCP\IDBConnection;
 
@@ -12,11 +11,9 @@ class FilecacheMapper extends ExtMapper {
     const FILECACHE_TABLE = 'filecache';
 
 	private string $accountsState = '';
-	private ConfigService $configService;
 
-    public function __construct(IDBConnection $db, int $chunkSize, ConfigService $configService, string $accountsState = '') {
+    public function __construct(IDBConnection $db, int $chunkSize, string $accountsState = '') {
         parent::__construct($db, self::FILECACHE_TABLE, $chunkSize);
-		$this->configService = $configService;
 		$this->accountsState = $accountsState;
     }
 
@@ -136,12 +133,23 @@ class FilecacheMapper extends ExtMapper {
 	}
 
 	private function addUserAccountsCondition(IQueryBuilder $query) {
-		if ($this->accountsState === 'false') {
-			$deactivatedUsers = $this->configService->config()->getUsersForUserValue('core', 'enabled', 'false');
-			$query->andWhere($query->expr()->in('a.uid', $query->createPositionalParameter($deactivatedUsers, IQueryBuilder::PARAM_STR_ARRAY)));
+		if ($this->accountsState != '') {
+
+			$qb = $this->getQueryBuilder();
+			$qb->selectDistinct('userid')
+				->from(AccountsMapper::PREFERENCES_TABLE)
+				->where($qb->expr()->eq('configkey', $qb->expr()->literal('enabled')))
+				->andWhere($qb->expr()->eq('configvalue', $qb->expr()->literal('false')));
+
+			if ($this->accountsState == 'false') {
+				$query->andWhere($query->expr()->in('a.uid', $query->createFunction($qb->getSQL())));
+			} else {
+				$query->andWhere($query->expr()->notIn('a.uid', $query->createFunction($qb->getSQL())));
+			}
 		}
 	}
 
+
 	private function addDirMimeTypeCondition(IQueryBuilder $query, $dirMimetype) {
 		if ($dirMimetype != -1) {
 			$query->andWhere($query->expr()->neq('fc.mimetype', $query->createPositionalParameter($dirMimetype, IQueryBuilder::PARAM_INT)));
diff --git a/lib/Stats/Collector/FileTypesCountsCollector.php b/lib/Stats/Collector/FileTypesCountsCollector.php
index f94fffe322fbd93c124a66d9cf192814afe19217..7e40e3155a0db2b65ca1feb542187bd2b95ee01c 100644
--- a/lib/Stats/Collector/FileTypesCountsCollector.php
+++ b/lib/Stats/Collector/FileTypesCountsCollector.php
@@ -10,7 +10,7 @@ use OCP\IDBConnection;
 class FileTypesCountsCollector extends BaseCollector {
     protected function collectData(IDBConnection $db, int $timestamp, int $chunkSize, ConfigService $config) {
         $fileCounts = [];
-        $mapper = new FilecacheMapper($db, $chunkSize, $config, $config->getSnapshotFiletypesFilterClosedAccounts() ? self::STATE_ENABLED : '');
+        $mapper = new FilecacheMapper($db, $chunkSize,$config->getSnapshotFiletypesFilterClosedAccounts() ? self::STATE_ENABLED : '');
 	    $counts = $mapper->queryFiletypesCounts();
 	    foreach ($config->getSnapshotFileTypes()->groups() as $groupName => $group) {
 		    if (!$group->isCollectEnabled()) {
diff --git a/lib/Stats/Collector/FilesCountCollector.php b/lib/Stats/Collector/FilesCountCollector.php
index adb2978b835e38a537d24a6559fd6cb42e04f745..1ed2fbd58844ac7b8dca99b601eeee575407164a 100644
--- a/lib/Stats/Collector/FilesCountCollector.php
+++ b/lib/Stats/Collector/FilesCountCollector.php
@@ -11,7 +11,7 @@ use OCP\IDBConnection;
 
 class FilesCountCollector extends BaseCollector {
     protected function collectData(IDBConnection $db, int $timestamp, int $chunkSize, ConfigService $config) {
-        $mapper = new FilecacheMapper($db, $chunkSize, $config);
+        $mapper = new FilecacheMapper($db, $chunkSize);
 		$totalCount = $mapper->queryTotalFilesCount();
 		$mapper->setAccountsState(self::STATE_DISABLED);
 	    $obsoleteCount = $mapper->queryTotalFilesCount();
diff --git a/lib/Stats/Collector/FilesSizeCollector.php b/lib/Stats/Collector/FilesSizeCollector.php
index c65dcb1a4055e56d98a7c1256455768391bdb2db..62e065de22491e79e5d05b4ad8ae848e5f15f189 100644
--- a/lib/Stats/Collector/FilesSizeCollector.php
+++ b/lib/Stats/Collector/FilesSizeCollector.php
@@ -11,7 +11,7 @@ use OCP\IDBConnection;
 
 class FilesSizeCollector extends BaseCollector {
     protected function collectData(IDBConnection $db, int $timestamp, int $chunkSize, ConfigService $config) {
-        $mapper = new FilecacheMapper($db, $chunkSize, $config);
+        $mapper = new FilecacheMapper($db, $chunkSize);
 	    $totalCount = $mapper->queryTotalFilesSize();
 	    $mapper->setAccountsState(self::STATE_DISABLED);
 	    $obsoleteCount = $mapper->queryTotalFilesSize();