diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 30be61e2eb2997496536bca55cc5047612105f47..6f4b6aab037482751e9e7822f157a0dcdcd216b0 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -520,18 +520,15 @@ const connection = Penpal.connectToParent({
         }
       });
     },
-    clearIdentities() {
-      return new Penpal.Promise(result => {
-        var identitiesTemp = listIdentitiesFromLocalStorage();
+    clearIdentities: async () => {
+      destroyAuthentication();
 
-        for(var i in identitiesTemp) {
-          destroyIdentityFromLocalStorage(i)
-        }
-        result({"data" : "",
-          "code" : "200",
-          "status" : "Identities cleared"
-        })
-      });
+      const identitiesTemp = listIdentitiesFromLocalStorage();
+
+      for (const i in identitiesTemp) {
+        destroyIdentityFromLocalStorage(i);
+      }
+      return encodeResponse("200", "", "Identities cleared");
     },
     confirmIdentificator(identity, confirmationCodeArg) {
       return new Penpal.Promise(result => {
@@ -612,6 +609,7 @@ const connection = Penpal.connectToParent({
       }
 
       const deviceHash = await createDeviceHash(loginIdentity.authentication.publicKey);
+      window.viamApi.setSessionData("", "");
       window.viamApi.setDeviceHash(deviceHash);
       window.viamApi.setIdentity(loginIdentity.authentication.publicKey);
 
@@ -738,6 +736,7 @@ const connection = Penpal.connectToParent({
     },
     identityRestoreAccess(restoreAccessIdentity, identificator) {
       return new Penpal.Promise(result => {
+        viamApi.setSessionData("", "");
         viamApi.setIdentity(restoreAccessIdentity.authentication.publicKey);
 
         executeRestfulFunction("public", viamApi, viamApi.identityRestoreAccess, null, identificator).then(executeResult => {