diff --git a/resources/vue/components/courseware/CoursewareLinkBlock.vue b/resources/vue/components/courseware/CoursewareLinkBlock.vue
index 02922d3eadd38647c53823b050c5d13e0fa82b3f..c20ef10c5f7bab608f55ff0dc7907bba7aea0215 100755
--- a/resources/vue/components/courseware/CoursewareLinkBlock.vue
+++ b/resources/vue/components/courseware/CoursewareLinkBlock.vue
@@ -17,7 +17,7 @@
                     </a>
                 </div>
                 <div v-if="currentType === 'internal'">
-                    <router-link :to="'/structural_element/' + currentTarget">
+                    <router-link :to="{ name: 'CoursewareStructuralElement', params: { id: currentTarget } }">
                         <div class="cw-link internal">
                             <span class="cw-link-title">
                                 {{ currentTitle }}
diff --git a/resources/vue/courseware-index-app.js b/resources/vue/courseware-index-app.js
index 2ecb252c6d2337e50c4915a5c94f690688b515bf..a72437970a34147767a6e2e537784c487f8dd65e 100755
--- a/resources/vue/courseware-index-app.js
+++ b/resources/vue/courseware-index-app.js
@@ -71,9 +71,14 @@ const mountApp = (STUDIP, createApp, element) => {
         },
     ];
 
+    let pathname = new URL(STUDIP.ABSOLUTE_URI_STUDIP).pathname;
+    if (pathname.endsWith('/')) {
+        pathname = pathname + '/';
+    }
     const base = STUDIP.URLHelper.parameters.cid
-        ? STUDIP.URLHelper.getURL('dispatch.php/course/courseware', { cid: STUDIP.URLHelper.parameters.cid }, true)
-        : STUDIP.URLHelper.getURL('dispatch.php/contents/courseware/courseware');
+          ? `${pathname}dispatch.php/course/courseware/?cid=${STUDIP.URLHelper.parameters.cid}`
+          : `${pathname}dispatch.php/contents/courseware/courseware`;
+
     const router = new VueRouter({
         base,
         routes,