diff --git a/src/app/basket/models/BasketModelAbstract.php b/src/app/basket/models/BasketModelAbstract.php
index 31e4b41be3d3d4db1039f8692678379762e8eeda..128f83c62ef9eb5c09da911f1d46ccedbe60f728 100644
--- a/src/app/basket/models/BasketModelAbstract.php
+++ b/src/app/basket/models/BasketModelAbstract.php
@@ -354,6 +354,12 @@ abstract class BasketModelAbstract
             ]);
 
             $user = UserModel::getByUserId(['userId' => $aArgs['userId'], 'select' => ['id']]);
+            $userPrefs = UserBasketPreferenceModel::get([
+                'select'    => ['group_serial_id', 'basket_id'],
+                'where'     => ['user_serial_id = ?'],
+                'data'      => [$user['id']]
+            ]);
+
             foreach ($aBaskets as $key => $value) {
                 unset($aBaskets[$key]['groupserialid']);
                 $aBaskets[$key]['groupSerialId'] = $value['groupserialid'];
@@ -367,12 +373,12 @@ abstract class BasketModelAbstract
                 ]);
                 $aBaskets[$key]['userToDisplay'] = UserModel::getLabelledUserById(['userId' => $aBaskets2[0]['new_user']]);
                 $aBaskets[$key]['enabled'] = true;
-                $userPref = UserBasketPreferenceModel::get([
-                    'select'    => [1],
-                    'where'     => ['user_serial_id = ?', 'group_serial_id = ?', 'basket_id = ?'],
-                    'data'      => [$user['id'], $value['groupserialid'], $value['basket_id']]
-                ]);
-                $aBaskets[$key]['allowed'] = !empty($userPref);
+                $aBaskets[$key]['allowed'] = false;
+                foreach ($userPrefs as $userPref) {
+                    if ($userPref['group_serial_id'] == $value['groupserialid'] && $userPref['basket_id'] == $value['basket_id']) {
+                        $aBaskets[$key]['allowed'] = true;
+                    }
+                }
             }
             if (empty($aArgs['absenceUneeded'])) {
                 $aBaskets = array_merge($aBaskets, BasketModel::getAbsBasketsByUserId(['userId' => $aArgs['userId']]));
diff --git a/src/core/controllers/AutoCompleteController.php b/src/core/controllers/AutoCompleteController.php
index 431451c2c9c91bb2a67b26a515ab396ebee56779..3266bfb4da359bce2a994039ce8ab56b981b2363 100644
--- a/src/core/controllers/AutoCompleteController.php
+++ b/src/core/controllers/AutoCompleteController.php
@@ -16,12 +16,12 @@ namespace SrcCore\controllers;
 
 use Contact\controllers\ContactGroupController;
 use Contact\models\ContactModel;
-use Group\models\ServiceModel;
 use Respect\Validation\Validator;
 use Slim\Http\Request;
 use Slim\Http\Response;
 use Entity\models\EntityModel;
 use SrcCore\models\CoreConfigModel;
+use SrcCore\models\DatabaseModel;
 use SrcCore\models\TextFormatModel;
 use Status\models\StatusModel;
 use User\models\UserEntityModel;
@@ -89,12 +89,11 @@ class AutoCompleteController
 
         $data = [];
         foreach ($users as $value) {
-            $primaryEntity = UserModel::getPrimaryEntityByUserId(['userId' => $value['user_id']]);
             $data[] = [
                 'type'          => 'user',
                 'id'            => $value['user_id'],
                 'idToDisplay'   => "{$value['firstname']} {$value['lastname']}",
-                'otherInfo'     => $primaryEntity['entity_label']
+                'otherInfo'     => ''
             ];
         }
 
@@ -139,25 +138,29 @@ class AutoCompleteController
     {
         $excludedUsers = ['superadmin'];
 
-        $users = UserModel::get([
-            'select'    => ['user_id', 'firstname', 'lastname'],
-            'where'     => ['enabled = ?', 'status != ?', 'user_id not in (?)'],
-            'data'      => ['Y', 'DEL', $excludedUsers],
-            'orderBy'   => ['lastname']
+        $users = DatabaseModel::select([
+            'select'    => ['DISTINCT users.user_id', 'users.firstname', 'users.lastname'],
+            'table'     => ['users, usergroup_content, usergroups_services'],
+            'where'     => [
+                'usergroup_content.group_id = usergroups_services.group_id',
+                'usergroup_content.user_id = users.user_id',
+                'usergroups_services.service_id in (?)',
+                'users.user_id not in (?)',
+                'users.enabled = ?',
+                'users.status != ?'
+            ],
+            'data'      => [['visa_documents', 'sign_document'], $excludedUsers, 'Y', 'DEL'],
+            'order_by'  => ['users.lastname']
         ]);
 
         $data = [];
-        foreach ($users as $value) {
-            if (ServiceModel::hasService(['id' => 'visa_documents', 'userId' => $value['user_id'], 'location' => 'visa', 'type' => 'use'])
-                || ServiceModel::hasService(['id' => 'sign_document', 'userId' => $value['user_id'], 'location' => 'visa', 'type' => 'use'])) {
-                $primaryEntity = UserModel::getPrimaryEntityByUserId(['userId' => $value['user_id']]);
-                $data[] = [
-                    'type'          => 'user',
-                    'id'            => $value['user_id'],
-                    'idToDisplay'   => "{$value['firstname']} {$value['lastname']}",
-                    'otherInfo'     => $primaryEntity['entity_label']
-                ];
-            }
+        foreach ($users as $key => $value) {
+            $data[] = [
+                'type'          => 'user',
+                'id'            => $value['user_id'],
+                'idToDisplay'   => "{$value['firstname']} {$value['lastname']}",
+                'otherInfo'     => ''
+            ];
         }
 
         return $response->withJson($data);