diff --git a/src/im/message_engine.cpp b/src/im/message_engine.cpp
index e0b238a2f10de5bfa0570c7536827e384735a75b..c13ac59602074d9f5aed69394a8ef3ecd99759d6 100644
--- a/src/im/message_engine.cpp
+++ b/src/im/message_engine.cpp
@@ -33,8 +33,6 @@
 namespace jami {
 namespace im {
 
-static std::uniform_int_distribution<MessageToken> udist {1};
-
 MessageEngine::MessageEngine(SIPAccountBase& acc, const std::string& path) : account_(acc), savePath_(path)
 {}
 
@@ -48,7 +46,7 @@ MessageEngine::sendMessage(const std::string& to, const std::map<std::string, st
         std::lock_guard<std::mutex> lock(messagesMutex_);
         auto& peerMessages = messages_[to];
         do {
-            token = udist(account_.rand);
+            token = std::uniform_int_distribution<MessageToken>{1, DRING_ID_MAX_VAL}(account_.rand);
         } while (peerMessages.find(token) != peerMessages.end());
         auto m = peerMessages.emplace(token, Message{});
         m.first->second.to = to;
diff --git a/src/manager.cpp b/src/manager.cpp
index fee8646af7181fdf60700787af58fd6302ccce94..134983f2f9344a9c3c439f1535fb460240f727e8 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -2790,13 +2790,12 @@ Manager::removeAccounts()
 std::string
 Manager::getNewCallID()
 {
-    static std::uniform_int_distribution<uint64_t> rand_call_id;
     std::ostringstream random_id;
 
     // generate something like s7ea037947eb9fb2f
     do {
         random_id.clear();
-        random_id << rand_call_id(pimpl_->rand_);
+        random_id << std::uniform_int_distribution<uint64_t>(1, DRING_ID_MAX_VAL)(pimpl_->rand_);
     } while (callFactory.hasCall(random_id.str()));
 
     return random_id.str();
diff --git a/src/manager.h b/src/manager.h
index cb9b7211dc33407c2a85e62025bc1f24c1316501..9d0a9b3d44d448ae5753c00bcce0abb39a6cc38a 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -57,6 +57,8 @@ class IceTransportFactory;
 class DataTransferFacade;
 class JamiAccount;
 
+static constexpr size_t DRING_ID_MAX_VAL = 9007199254740992;
+
 /** Manager (controller) of daemon */
 class Manager {
     public: