diff --git a/adapters/oidc/js/src/main/resources/keycloak.js b/adapters/oidc/js/src/main/resources/keycloak.js
index ba27ed0..70b318e 100755
--- a/adapters/oidc/js/src/main/resources/keycloak.js
+++ b/adapters/oidc/js/src/main/resources/keycloak.js
@@ -846,14 +846,15 @@
kc.clearToken();
}
- for (var i = loginIframe.callbackList.length - 1; i >= 0; --i) {
- var promise = loginIframe.callbackList[i];
+ var callbacks = loginIframe.callbackList.splice(0, loginIframe.callbackList.length);
+
+ for (var i = callbacks.length - 1; i >= 0; --i) {
+ var promise = callbacks[i];
if (event.data == "unchanged") {
promise.setSuccess();
} else {
promise.setError();
}
- loginIframe.callbackList.splice(i, 1);
}
};