diff --git a/changes/changelog.d/239.bugfix b/changes/changelog.d/239.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..169bf6b896f337db8a20d3c682acc9e090a6dfbc
--- /dev/null
+++ b/changes/changelog.d/239.bugfix
@@ -0,0 +1 @@
+Fixed broken track download modal (overflow and wrong URL) (#239)
diff --git a/front/src/audio/backend.js b/front/src/audio/backend.js
index 5b4c707067698822f23f831284efcdabb82c2dc3..619f3cefdbd7b08f9879be343ce246e41e86de0d 100644
--- a/front/src/audio/backend.js
+++ b/front/src/audio/backend.js
@@ -26,7 +26,11 @@ export default {
       return url
     }
     if (url.startsWith('/')) {
-      return config.BACKEND_URL + url.substr(1)
+      let rootUrl = (
+        window.location.protocol + '//' + window.location.hostname +
+        (window.location.port ? ':' + window.location.port : '')
+      )
+      return rootUrl + url
     } else {
       return config.BACKEND_URL + url
     }
diff --git a/front/src/components/audio/track/Table.vue b/front/src/components/audio/track/Table.vue
index 7045cf9bd222085bbb7fbf1056a24f4c8205cb86..4559b3c41b59ccf798eec071b97c1ab55a81dceb 100644
--- a/front/src/components/audio/track/Table.vue
+++ b/front/src/components/audio/track/Table.vue
@@ -84,4 +84,7 @@ export default {
 tr:not(:hover) .favorite-icon:not(.favorited) {
   display: none;
 }
+pre {
+  overflow-x: scroll;
+}
 </style>