diff --git a/resources/vue/components/courseware/CoursewareDashboardStudents.vue b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
index d03ed986d69e9b92387b9e1d8c5461f987a6d3f1..5878705789d27fc649b4984cdc25c44e29909631 100644
--- a/resources/vue/components/courseware/CoursewareDashboardStudents.vue
+++ b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
@@ -57,7 +57,7 @@
                         </span>
                     </td>
                     <td class="responsive-hidden">
-                        <a v-if="task.attributes.submitted" :href="getLinkToElement(element.id)">
+                        <a v-if="task.attributes.submitted" :href="getLinkToElement(element)">
                             {{ element.attributes.title }}
                         </a>
                         <span v-else>{{ element.attributes.title }}</span>
diff --git a/resources/vue/components/courseware/CoursewareDashboardTasks.vue b/resources/vue/components/courseware/CoursewareDashboardTasks.vue
index e1329baebb6c3bc3a61ed10b77238dba5441ff9a..6535272b4b4ece1d957f17f69ba02bf6a50a50c2 100644
--- a/resources/vue/components/courseware/CoursewareDashboardTasks.vue
+++ b/resources/vue/components/courseware/CoursewareDashboardTasks.vue
@@ -37,7 +37,7 @@
                         {{ taskGroup.attributes.title }}
                     </td>
                     <td>
-                        <a :href="getLinkToElement(element.id)">{{ element.attributes.title }}</a>
+                        <a :href="getLinkToElement(element)">{{ element.attributes.title }}</a>
                     </td>
                     <td>{{ task.attributes?.progress?.toFixed(2) || '-'}}%</td>
                     <td>{{ getReadableDate(task.attributes['submission-date']) }}</td>
diff --git a/resources/vue/mixins/courseware/task-helper.js b/resources/vue/mixins/courseware/task-helper.js
index ecf4ff304921c3456d2a117dff14b47b6612ae61..9f9fdb37cdc96d36846966ea12f2c02a64383f62 100644
--- a/resources/vue/mixins/courseware/task-helper.js
+++ b/resources/vue/mixins/courseware/task-helper.js
@@ -50,14 +50,13 @@ export default {
 
             return status;
         },
-        getLinkToElement(elementId) {
-            return (
-                STUDIP.URLHelper.base_url +
-                'dispatch.php/course/courseware/?cid=' +
-                STUDIP.URLHelper.parameters.cid +
-                '#/structural_element/' +
-                elementId
-            );
+        getLinkToElement(element) {
+            const unitId = element.relationships?.unit?.data?.id;
+            if (!unitId) {
+                return '';
+            }
+
+            return `${STUDIP.URLHelper.base_url}dispatch.php/course/courseware/courseware/${unitId}?cid=${STUDIP.URLHelper.parameters.cid}#/structural_element/${element.id}`;
         },
         getReadableDate(date) {
             return new Date(date).toLocaleDateString();