diff --git a/packages/common/test/unit.js b/packages/common/test/unit.js
index c3a27d84183843c007e30fad1ee562c0656eac08..171b402c8d224a788f33480b89190264c407642d 100644
--- a/packages/common/test/unit.js
+++ b/packages/common/test/unit.js
@@ -37,8 +37,7 @@ suite('utils', () => {
 
     test('getAssetURL', () => {
         utils.initAssetBaseURL();
-        assert(utils.getAssetURL("foo/bar") === "foo/bar");
-        assert(utils.getAssetURL("foo/bar") === "foo/bar");
+        assert.equal(new URL(utils.getAssetURL("foo/bar")).pathname, "/foo/bar");
     });
 
     test('getThemeCSS', () => {
diff --git a/packages/common/utils.js b/packages/common/utils.js
index 7c133605496c568dbb4e09f0e52462a3315ff3fb..5a357954d0d75d248aba6bc59e3ae8f6a1bf2bad 100644
--- a/packages/common/utils.js
+++ b/packages/common/utils.js
@@ -203,6 +203,10 @@ export const initAssetBaseURL = (id) => {
     if (document.currentScript && document.currentScript.src) {
         _assetBaseURL = document.currentScript.src;
     }
+
+    // XXX: Can't be parsed in (old) edge, but makes everything so much easier...
+    if (!_assetBaseURL)
+        _assetBaseURL = new URL('..', import.meta.url).href;
 };
 
 /**