diff --git a/migration/20.10/migrateSavedQueries.php b/migration/20.10/migrateSavedQueries.php
index e755ef172b99a5da26aa9bedd19282d2797fbab0..f7d73775bd17f3a06a2e38209e0c2db1b9a4fda3 100644
--- a/migration/20.10/migrateSavedQueries.php
+++ b/migration/20.10/migrateSavedQueries.php
@@ -117,8 +117,8 @@ foreach ($customs as $custom) {
                     }
                 }
                 $query[] = ['identifier' => 'status', 'values' => $allStatuses];
-            } elseif ($key == 'visa_user' && !empty($value['fields']['visa_user'][0])) {
-                $user = \User\models\UserModel::getByLogin(['login' => $value['fields']['visa_user'][0], 'select' => ['id', 'firstname', 'lastname']]);
+            } elseif ($key == 'visa_user' && !empty($value['fields']['user_visa'][0])) {
+                $user = \User\models\UserModel::getByLogin(['login' => $value['fields']['user_visa'][0], 'select' => ['id', 'firstname', 'lastname']]);
                 if (!empty($user)) {
                     $query[] = ['identifier' => 'role_visa', 'values' => [['id' => $user['id'], 'type' => 'user', 'label' => "{$user['firstname']} {$user['lastname']}"]]];
                 }
diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php
index 4b43c7495adf066329b3df5137dbbf8ecb07c4ef..26a48c9aa70275a0b10187e10b8bcb7d2fd41826 100644
--- a/src/app/search/controllers/SearchController.php
+++ b/src/app/search/controllers/SearchController.php
@@ -611,10 +611,14 @@ class SearchController
             }
             if (empty($tagsMatch)) {
                 $args['searchWhere'][] = 'res_id not in (select distinct res_id from resources_tags)';
-            } else {
+            } elseif (in_array(null, $body['tags']['values'])) {
                 $args['searchWhere'][] = '(res_id in (?) OR res_id not in (select distinct res_id from resources_tags))';
                 $tagsMatch = array_column($tagsMatch, 'res_id');
                 $args['searchData'][] = $tagsMatch;
+            } else {
+                $args['searchWhere'][] = 'res_id in (?)';
+                $tagsMatch = array_column($tagsMatch, 'res_id');
+                $args['searchData'][] = $tagsMatch;
             }
         }
         if (!empty($body['folders']) && !empty($body['folders']['values']) && is_array($body['folders']['values'])) {
@@ -630,10 +634,14 @@ class SearchController
             }
             if (empty($foldersMatch)) {
                 $args['searchWhere'][] = 'res_id not in (select distinct res_id from resources_folders)';
-            } else {
+            } elseif (in_array(null, $body['folders']['values'])) {
                 $args['searchWhere'][] = '(res_id in (?) OR res_id not in (select distinct res_id from resources_folders))';
                 $foldersMatch = array_column($foldersMatch, 'res_id');
                 $args['searchData'][] = $foldersMatch;
+            } else {
+                $args['searchWhere'][] = 'res_id in (?)';
+                $foldersMatch = array_column($foldersMatch, 'res_id');
+                $args['searchData'][] = $foldersMatch;
             }
         }
         if (!empty($body['notes']) && !empty($body['notes']['values']) && is_string($body['notes']['values'])) {
@@ -691,12 +699,21 @@ class SearchController
                         $data[] = $itemValue['id'];
                         $data[] = $itemValue['type'] == 'user' ? 'user_id' : 'entity_id';
                     }
-                    $data[] = $roleId;
-                    $rolesMatch = ListInstanceModel::get([
-                        'select'    => ['res_id'],
-                        'where'     => ["({$where})", 'item_mode = ?'],
-                        'data'      => $data
-                    ]);
+                    if ($roleId == 'sign') {
+                        $data[] = 'true';
+                        $rolesMatch = ListInstanceModel::get([
+                            'select'    => ['res_id'],
+                            'where'     => ["({$where})", 'signatory = ?'],
+                            'data'      => $data
+                        ]);
+                    } else {
+                        $data[] = $roleId;
+                        $rolesMatch = ListInstanceModel::get([
+                            'select'    => ['res_id'],
+                            'where'     => ["({$where})", 'item_mode = ?'],
+                            'data'      => $data
+                        ]);
+                    }
                     if (empty($rolesMatch)) {
                         return null;
                     }