diff --git lib/OpenLayers.js lib/OpenLayers.js
index 79dc2f4..03b1e51 100644
--- lib/OpenLayers.js
+++ lib/OpenLayers.js
@@ -44,10 +44,19 @@
          * {String} Path to this script
          */
         _getScriptLocation: (function() {
-            var r = new RegExp("(^|(.*?\\/))(" + scriptName + ")(\\?|$)");
-            var s = document.getElementsByTagName('script');
-            var m = s[s.length-1].getAttribute("src").match(r);
-            var l = m ? m[1] : "";
+            var r = new RegExp("(^|(.*?\\/))(" + scriptName + ")(\\?|$)"),
+                s = document.getElementsByTagName('script'),
+                src, m, l;
+            for(var i=0, len=s.length; i<len; i++) {
+                src = s[i].getAttribute('src');
+                if(src) {
+                    var m = src.match(r);
+                    if(m) {
+                        l = m[1];
+                        break;
+                    }
+                }
+            }
             return (function() { return l; });
         })()
     };
diff --git lib/OpenLayers/SingleFile.js lib/OpenLayers/SingleFile.js
index b07377a..83fcaa4 100644
--- lib/OpenLayers/SingleFile.js
+++ lib/OpenLayers/SingleFile.js
@@ -25,9 +25,19 @@ var OpenLayers = {
      * {String} Path to this script
      */
     _getScriptLocation: (function() {
-        var s = document.getElementsByTagName('script');
-        var m = s[s.length-1].getAttribute("src").match(/(^|(.*?\/))(OpenLayers\.js)(\?|$)/);
-        var l = m ? m[1] : "";
+        var r = new RegExp("(^|(.*?\\/))(OpenLayers\.js)(\\?|$)"),
+            s = document.getElementsByTagName('script'),
+            src, m, l;
+        for(var i=0, len=s.length; i<len; i++) {
+            src = s[i].getAttribute('src');
+            if(src) {
+                var m = src.match(r);
+                if(m) {
+                    l = m[1];
+                    break;
+                }
+            }
+        }
         return (function() { return l; });
     })()
 };
