diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 831b81796d56696701acfaa00ded77b3b1c473ff..c15c52a93a6b31f8d26f8d8e9fab0ce8ee4901cb 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -563,7 +563,7 @@ const connection = Penpal.connectToParent({
           window.currentlyLoadedIdentity = newIdentity;
           const { publicKey, x509Certificate } = newIdentity.authentication;
 
-          window.window.loadedIdentities[publicKey] = newIdentity;
+          window.loadedIdentities[publicKey] = newIdentity;
           extendPinCodeTtl(newIdentity.authentication.publicKey, pinCode);
 
           window.viamAnonymousApi.setIdentity(
@@ -957,19 +957,20 @@ const connection = Penpal.connectToParent({
         };
       }
     },
-    identityRestoreAccess(identificator) {
+    identityRestoreAccess(restoreAccessIdentity, identificator) {
       return new Penpal.Promise(result => {
+        viamApi.setSessionData("", "");
+        viamApi.setIdentity(restoreAccessIdentity.authentication.publicKey);
+
         executeRestfulFunction(
           "public",
           viamApi,
           viamApi.identityRestoreAccess,
           null,
           identificator
-        )
-          .then(executeResult => {
-            result(executeResult);
-          })
-          .catch(error => encodeResponse("400", "", error.message));
+        ).then(executeResult => {
+          result(executeResult);
+        });
       });
     },
     contactsCheckAccountRecoveryStatus: async restoreAccessIdentity => {