diff --git a/Changes b/Changes
index 4dc1198..7bf542e 100644
--- a/Changes
+++ b/Changes
@@ -22,6 +22,7 @@
         - Keep plugin state in statemanager (fixes #201; diewald)
         - Fix alerts in hint helper (diewald)
         - Don't send empty pipes and states via query param (diewald)
+        - Fix access of iframe location in tutorials. (diewald)
 
 0.58 2024-11-15
         - Cookie path is settable now (hebasta)
diff --git a/dev/js/src/init.js b/dev/js/src/init.js
index 1796c6a..7f6dce6 100644
--- a/dev/js/src/init.js
+++ b/dev/js/src/init.js
@@ -82,10 +82,13 @@
     
     // Set base URL
     KorAP.URL = d.body.getAttribute('data-korap-url') || "";
-  
+
+    
+    
     // Create suffix if KorAP is run in a subfolder
     KorAP.session = sessionClass.create(
-      KorAP.URL.length > 0 ? 'kalamarJS-' + KorAP.URL.slugify() : 'kalamarJS'
+      (KorAP.URL.length > 0 ? 'kalamarJS-' + KorAP.URL.slugify() : 'kalamarJS'),
+      KorAP.URL
     );
 
     // Get koralQuery response
diff --git a/dev/js/src/tutorial.js b/dev/js/src/tutorial.js
index ae42bad..9fe132d 100644
--- a/dev/js/src/tutorial.js
+++ b/dev/js/src/tutorial.js
@@ -197,23 +197,22 @@
       let page = obj;
 
       if (typeof page != 'string') {
-	      const l = this._iframe !== null ? window.frames[0].location : window.location;
+	const l = this._iframe !== null ? this._iframe.contentWindow.location : window.location;
 
-	      page = l.pathname + l.search;
+        page = l.pathname + l.search;
 
-	      for (let i = 1; i < 5; i++) {
-	        if ((obj.nodeName === 'SECTION' || obj.nodeName === 'PRE') && obj.hasAttribute('id')) {
-	          page += '#' + obj.getAttribute('id');
-	          break;
-	        }
-	        else {
-	          obj = obj.parentNode;
+	for (let i = 1; i < 5; i++) {
+	  if ((obj.nodeName === 'SECTION' || obj.nodeName === 'PRE') && obj.hasAttribute('id')) {
+	    page += '#' + obj.getAttribute('id');
+	    break;
+	  }
+	  else {
+	    obj = obj.parentNode;
             if (obj === null)
               break;
-	        };
-	      };
+	  };
+	};
       };
-
       this._session.set('tutpage', page);
     },
 
