diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql
index 033dd0ba59d3c68f8745ae40a17ec48bd8e7e633..e22ffbaab15fb2044049eb05c9a9b723f5305230 100755
--- a/migration/20.10/2010.sql
+++ b/migration/20.10/2010.sql
@@ -143,6 +143,14 @@ DO $$ BEGIN
         ALTER TABLE history RENAME COLUMN user_id_tmp TO user_id;
     END IF;
 END$$;
+DO $$ BEGIN
+    IF (SELECT count(column_name) from information_schema.columns where table_name = 'message_exchange' and column_name = 'account_id' and data_type != 'integer') THEN
+        ALTER TABLE message_exchange ADD COLUMN account_id_tmp INTEGER;
+        UPDATE message_exchange set account_id_tmp = (select id FROM users where users.user_id = message_exchange.account_id);
+        ALTER TABLE message_exchange DROP COLUMN IF EXISTS account_id;
+        ALTER TABLE message_exchange RENAME COLUMN account_id_tmp TO account_id;
+    END IF;
+END$$;
 
 
 /* RE CREATE VIEWS */
diff --git a/sql/structure.sql b/sql/structure.sql
index 27e5cd607b2c1e2c1bcb2bd96ff7f0fc30a27ea0..f9f5c6d78a16ef2eae8a7a4770dd1cb02dce815d 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -1141,7 +1141,7 @@ CREATE TABLE message_exchange
   date timestamp NOT NULL,
   reference text NOT NULL,
   
-  account_id text,
+  account_id integer,
   sender_org_identifier text NOT NULL,
   sender_org_name text,
   recipient_org_identifier text NOT NULL,
diff --git a/src/app/external/messageExchange/controllers/MessageExchangeController.php b/src/app/external/messageExchange/controllers/MessageExchangeController.php
index a925863c07317dca265d6a967666254611ae3269..9c043c0e86c3f54de81c607ae496a49047da460c 100644
--- a/src/app/external/messageExchange/controllers/MessageExchangeController.php
+++ b/src/app/external/messageExchange/controllers/MessageExchangeController.php
@@ -43,7 +43,7 @@ class MessageExchangeController
         foreach ($messagesModel as $message) {
             $messageType = 'm2m_' . strtoupper($message['type']);
 
-            $user = UserModel::getLabelledUserById(['login' => $message['account_id']]);
+            $user = UserModel::getLabelledUserById(['id' => $message['account_id']]);
             $sender = $user . ' (' . $message['sender_org_name'] . ')';
 
             $recipient = $message['recipient_org_name'] . ' (' . $message['recipient_org_identifier'] . ')';
@@ -159,7 +159,7 @@ class MessageExchangeController
         }
 
         $messageType = 'm2m_' . strtoupper($type);
-        $user = UserModel::getLabelledUserById(['login' => $message['account_id']]);
+        $user = UserModel::getLabelledUserById(['id' => $message['account_id']]);
         $sender = $user . ' (' . $message['sender_org_name'] . ')';
 
         if ($message['status'] == 'S') {
@@ -172,9 +172,8 @@ class MessageExchangeController
             $status = 'DRAFT';
         }
 
-        $userInfo = UserModel::getByLogin(['login' => $message['account_id'], 'select' => ['id']]);
         $messageExchange = [
-            'userId'                    => $userInfo['id'],
+            'userId'                    => $message['account_id'],
             'messageId'                 => $message['message_id'],
             'creationDate'              => $message['date'],
             'type'                      => $messageType,
diff --git a/src/app/external/messageExchange/controllers/SendMessageExchangeController.php b/src/app/external/messageExchange/controllers/SendMessageExchangeController.php
index a4dd49db3caa619ada374eae547ca3046240b1ed..872e4276f5eb017bcf5aa87b0fc7db588e6dc268 100755
--- a/src/app/external/messageExchange/controllers/SendMessageExchangeController.php
+++ b/src/app/external/messageExchange/controllers/SendMessageExchangeController.php
@@ -95,11 +95,12 @@ class SendMessageExchangeController
             'filePath'          => $aArgs['file_path'],
         ];
 
+        $user = UserModel::getByLogin(['login' => $aArgs['userId'], 'select' => ['id']]);
         $messageId = MessageExchangeModel::insertMessage([
             "data"          => $oData,
             "type"          => $aArgs['type'],
             "dataExtension" => $aDataExtension,
-            "userId"        => $aArgs['userId']
+            "userId"        => $user['id']
         ]);
 
         return $messageId;
diff --git a/src/app/external/summary/controllers/SummaryController.php b/src/app/external/summary/controllers/SummaryController.php
index 9e6027704a941c9c1bd226cd0524a6290adaee61..64ad0cd2a55511eb5653dbeb71fb7a6967de39e9 100755
--- a/src/app/external/summary/controllers/SummaryController.php
+++ b/src/app/external/summary/controllers/SummaryController.php
@@ -76,7 +76,7 @@ class SummaryController
         ]);
         foreach ($maarch2ged as $key => $value) {
             if (!empty($value['account_id'])) {
-                $userInfo = UserModel::getByLogin(['select' => ['firstname', 'lastname'], 'login' => $value['account_id']]);
+                $userInfo = UserModel::getById(['select' => ['firstname', 'lastname'], 'id' => $value['account_id']]);
             }
             $maarch2ged[$key]['userInfo'] = $userInfo['firstname'] . ' ' . $userInfo['lastname'];
             $maarch2ged[$key]['object']   = '';