diff --git a/bin/sid_user.py b/bin/sid_user.py
index 30b282ca24a3758fa14d84ec875d827e7f055bd2..1b67261e483c9bd3e11d158ed21a2568c5cbb9d1 100755
--- a/bin/sid_user.py
+++ b/bin/sid_user.py
@@ -724,14 +724,21 @@ def main():
         if debug and logindebug and logindebug != user:
             continue
 
+        params = {'name': user}
+        user_exists = diego.diego_run_dieget_by_name('sid_check_user_exists', params)
+
         need_to_create = False
         need_to_update = False
         if user in sid_results[1]:
             logger.debug('SID user ' + user + ' should be updated.')
             need_to_update = True
             block_to_update = diego.diegoGetObject(sid_results[1][user]['uid'], context_uid)
-
-        elif user not in sid_results[1] and user not in sid_resigned_results[1]:
+        elif user in user_exists[1] and user not in sid_results[1] and user not in sid_resigned_results[1]:
+            incomplete_users.append(user)
+            logger.debug('SID user ' + user + ' is incomplete and should be updated.')
+            need_to_update = True
+            block_to_update = diego.diegoGetObject(user_exists[1][user]['uid'], context_uid)
+        elif user not in sid_results[1] and user not in sid_resigned_results[1] and user not in user_exists[1]:
             need_to_create = True
             logger.debug('SID user ' + user + ' should be addded.')
             logger.debug(pformat(snet_results['users'][user]))