diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index 92f90dde60b366ddf8dd6fe940fc7e09db4ca831..34687411c89c65f2497cc2858862052b196784c0 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -2137,14 +2137,12 @@ SIPAccount::sendTextMessage(const std::string& to, const std::map<std::string, s
 
     im::fillPJSIPMessageBody(*tdata, payloads);
 
-    // Send message request with callback onComplete
-    auto token = t.release();
-    status = pjsip_endpt_send_request(link_->getEndpoint(), tdata, -1, token, &onComplete);
+    // Send message request with callback SendMessageOnComplete
+    status = pjsip_endpt_send_request(link_->getEndpoint(), tdata, -1, t.release(), &onComplete);
 
     if (status != PJ_SUCCESS) {
         JAMI_ERR("Unable to send request: %s", sip_utils::sip_strerror(status).c_str());
         messageEngine_.onMessageSent(to, id, false);
-        delete token;
         return;
     }
 }
@@ -2179,13 +2177,11 @@ SIPAccount::onComplete(void *token, pjsip_event *event)
             cseq_hdr->cseq += 1;
 
             // Resend request
-            auto data = c.release();
-            status = pjsip_endpt_send_request(acc->link_->getEndpoint(), new_request, -1, data, &onComplete);
+            status = pjsip_endpt_send_request(acc->link_->getEndpoint(), new_request, -1, c.release(), &onComplete);
 
             if (status != PJ_SUCCESS) {
                 JAMI_ERR("Unable to send request: %s", sip_utils::sip_strerror(status).c_str());
                 acc->messageEngine_.onMessageSent(c->to, c->id, false);
-                delete data;
             }
             return;
         }