diff --git a/adaptor-ym.js b/adaptor-ym.js
index 23ab15b..2bcd943 100644
--- a/adaptor-ym.js
+++ b/adaptor-ym.js
@@ -78,15 +78,24 @@ function sendMessage(destination, msg, requestId) {
     catch(e) {
         logger.warn(__filename + ': Exception on sending message: ' + e, {e: e, destination: destination, msg: msg, requestId: requestId});
         logger.info('Trying to relogin to YM in 3 secs');
-        
-        isOnline = false;
+
+        logout();
+
         setTimeout(
-            YM.newInstance,
-            3000
+            init,
+            3000,
+            username, password, logger, callbacks
         );
     }
 }
 
+function logout(){
+    isOnline = false;
+    try {
+        YM.logout();
+    } catch(e) {}
+}
+
 exports.init = init;
 exports.sendMessage = sendMessage;
 exports.isOnline = isOnline;