diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 71d24b5c84bebdc063dae34358d72e8e0b9aab62..15244b99080f6dc709bffa5c355c5b363562f5c6 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -1353,50 +1353,27 @@ function executeRestfulFunction(type, that, fn, ...args) {
   if (type === "private") {
     return new Penpal.Promise(executeResult => {
       fn.apply(that, args).then((response) => {
-        if (response.data.code === "400" && response.data.status === "Bad session") {
-          if (currentlyAuthenticatedIdentity !== "" && currentlyAuthenticatedIdentity !== null) {
-            viamApi.identityLogin("previousaddeddevice").then((response1) => {
-              if (response1.data.code === "200") {
-                const uuid = response1.data.data["Uuid"];
-                const token = response1.data.data["Session"];
+        const identity = currentlyAuthenticatedIdentity || currentlyLoadedIdentity;
+
+        if (response.data.code === "400" && response.data.status === "Bad session" && identity) {
+          viamApi.identityLogin("previousaddeddevice")
+            .then((response) => {
+              if (response.data.code === "200") {
+                const uuid = response.data.data["Uuid"];
+                const token = response.data.data["Session"];
                 viamApi.setSessionData(uuid, token);
                 localStorage.setItem("uuid", uuid);
                 localStorage.setItem("token", token);
-                localStorage.setItem("authenticatedIdentity", currentlyAuthenticatedIdentity.authentication.publicKey);
-                window.currentlyAuthenticatedIdentity = loadedIdentities[currentlyAuthenticatedIdentity.authentication.publicKey];
-                setKeyForUUID(uuid, currentlyAuthenticatedIdentity.authentication.publicKey);
+                localStorage.setItem("authenticatedIdentity", identity.authentication.publicKey);
+                window.currentlyAuthenticatedIdentity = loadedIdentities[identity.authentication.publicKey];
+                setKeyForUUID(uuid, identity.authentication.publicKey);
                 window.lastTimeGetProfile = 0;
-                fn.apply(null, args).then((response2) => {
-                  executeResult(response2.data);
-                });
+                fn.apply(null, args).then(({data}) => executeResult(data));
               } else {
-                executeResult(response1.data);
+                executeResult(response.data);
               }
-            });
-          } else {
-            if (currentlyLoadedIdentity !== "" && currentlyLoadedIdentity !== null) {
-              viamApi.identityLogin("previousaddeddevice").then((response1) => {
-                if (response1.data.code === "200") {
-                  const uuid = response1.data.data["Uuid"];
-                  const token = response1.data.data["Session"];
-                  viamApi.setSessionData(uuid, token);
-                  localStorage.setItem("uuid", uuid);
-                  localStorage.setItem("token", token);
-                  localStorage.setItem("authenticatedIdentity", currentlyLoadedIdentity.authentication.publicKey);
-                  window.currentlyAuthenticatedIdentity = loadedIdentities[currentlyLoadedIdentity.authentication.publicKey];
-                  setKeyForUUID(uuid, currentlyLoadedIdentity.authentication.publicKey);
-                  window.lastTimeGetProfile = 0;
-                  fn.apply(null, args).then((response2) => {
-                    executeResult(response2.data);
-                  });
-                } else {
-                  executeResult(response1.data);
-                }
-              });
-            } else {
-              executeResult(response.data);
-            }
-          }
+            })
+            .catch(console.warn);
         } else {
           executeResult(response.data);
         }