diff --git a/src/app/document/controllers/DocumentController.php b/src/app/document/controllers/DocumentController.php
index 12132c82a4dd28dabd7fd7b7026a6771aececb2d..3ebee913c515a5b3d82e1df143a981d28c81d7d6 100755
--- a/src/app/document/controllers/DocumentController.php
+++ b/src/app/document/controllers/DocumentController.php
@@ -1051,7 +1051,7 @@ class DocumentController
             if ($currentStep['user_id'] == $args['userId']) {
                 return true;
             } else {
-                $user = UserModel::getById(['id' => $currentStep['user_id'], 'select' => ['substitute']]);
+                $user = UserModel::getById(['id' => $args['userId'], 'select' => ['substitute']]);
                 return $currentStep['user_id'] == $user['substitute'];
             }
         }
@@ -1062,12 +1062,11 @@ class DocumentController
                 'main_document_id = ?',
                 '(process_date IS NOT NULL AND user_id = ?)
                 OR (
-                    process_date IS NULL
-                    AND user_id IN (
+                    user_id IN (
                         SELECT (SELECT ?::int) UNION (SELECT id FROM users WHERE substitute = ?)
                     )
                     AND "order" = (
-                        SELECT min(ws2."order") FROM workflows ws2 WHERE ws2.main_document_id = main_document_id
+                        SELECT min(ws2."order") FROM workflows ws2 WHERE ws2.process_date IS NULL AND ws2.main_document_id = main_document_id
                     )
                 )'
             ],
diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php
index 5c329c1091a23768a4d117c2f579cc6124f1d711..3afeec3106ecb51f667ff9236008807b764ed70f 100755
--- a/src/app/search/controllers/SearchController.php
+++ b/src/app/search/controllers/SearchController.php
@@ -43,12 +43,11 @@ class SearchController
                 WHERE typist = ?
                 OR (ws1.process_date IS NOT NULL AND ws1.user_id = ?)
                 OR (
-                    ws1.process_date IS NULL
-                    AND ws1.user_id IN (
+                    ws1.user_id IN (
                         SELECT (SELECT ?::int) UNION (SELECT id FROM users WHERE substitute = ?)
                     )
                     AND ws1."order" = (
-                        SELECT min(ws2."order") FROM workflows ws2 WHERE ws2.main_document_id = ws1.main_document_id
+                        SELECT min(ws2."order") FROM workflows ws2 WHERE ws2.process_date IS NULL AND ws2.main_document_id = ws1.main_document_id
                     )
                 )
             )'];