diff --git a/app/controllers/course/go.php b/app/controllers/course/go.php
index 03ae1dfa7f649de5e7800032acc5f87af81dcefc..400c44a4c84e34ebb7df72e3241fdf280bf15bad 100644
--- a/app/controllers/course/go.php
+++ b/app/controllers/course/go.php
@@ -50,7 +50,9 @@ class Course_GoController extends AuthenticatedController
             if (!is_internal_url($redirect_to)) {
                 throw new Exception('Invalid redirection');
             }
-
+            if (str_starts_with($redirect_to, '#')) {
+                $redirect_to = 'dispatch.php/course/go' . $redirect_to;
+            }
             $this->redirect(URLHelper::getURL($redirect_to, ['cid' => $course_id]));
             return;
         }
diff --git a/app/controllers/institute/overview.php b/app/controllers/institute/overview.php
index 3713dccb0b9770edfca73af993880729e702e46e..db83115118764d1e2748ec6ef105b89172565659 100644
--- a/app/controllers/institute/overview.php
+++ b/app/controllers/institute/overview.php
@@ -16,17 +16,20 @@ class Institute_OverviewController extends AuthenticatedController
 {
     protected $allow_nobody = true;
 
-    function before_filter(&$action, &$args) {
-
+    public function __construct(\Trails\Dispatcher $dispatcher)
+    {
+        if (Request::option('auswahl')) {
+            Request::set('cid', Request::option('auswahl'));
+        }
         //Check if anonymous access is really allowed:
         $config = Config::get();
         if (($config->ENABLE_FREE_ACCESS && ($config->ENABLE_FREE_ACCESS == 'courses_only'))) {
             $this->allow_nobody = false;
         }
+        parent::__construct($dispatcher);
+    }
 
-        if (Request::option('auswahl')) {
-            Request::set('cid', Request::option('auswahl'));
-        }
+    public function before_filter(&$action, &$args) {
 
         parent::before_filter($action, $args);
 
diff --git a/resources/vue/components/MyCoursesTables.vue b/resources/vue/components/MyCoursesTables.vue
index 0bf9423553c7a132acea5aa52ac4ee80aab1d8fb..e3b70ea59fbf5e35ab5d48629fe2852eef5aa125 100644
--- a/resources/vue/components/MyCoursesTables.vue
+++ b/resources/vue/components/MyCoursesTables.vue
@@ -56,7 +56,7 @@
                         {{ course.number }}
                     </td>
                     <td :class="{'subcourse-indented': isChild(course)}">
-                        <a :href="urlFor('seminar_main.php', {to: course.id})">
+                        <a :href="urlFor('dispatch.php/course/go', {to: course.id})">
                             {{ getCourseName(course, getConfig('sem_number') && responsiveDisplay) }}
                             <span v-if="course.is_deputy">{{ $gettext('[Vertretung]') }}</span>
                         </a>
diff --git a/resources/vue/components/MyCoursesTiles.vue b/resources/vue/components/MyCoursesTiles.vue
index 81e0237249e8d7703fe84c40139e50e096dcec22..355d24c7d672d180dec9a46f16cd6984bdac633c 100644
--- a/resources/vue/components/MyCoursesTiles.vue
+++ b/resources/vue/components/MyCoursesTiles.vue
@@ -24,7 +24,7 @@
                                     ></studip-action-menu>
                                 </span>
 
-                                <a :href="urlFor('seminar_main.php', {to: course.id})" class="tiles-grid-element-header-content" :title="getCourseName(course, getConfig('sem_number'))">
+                                <a :href="urlFor('dispatch.php/course/go', {to: course.id})" class="tiles-grid-element-header-content" :title="getCourseName(course, getConfig('sem_number'))">
                                     <span :style="{backgroundImage: `url(${course.avatar})`}" class="tiles-grid-element-header-image"></span>
                                     <span class="tiled-grid-element-header-title">
                                         {{ getCourseName(course, getConfig('sem_number')) }}
diff --git a/resources/vue/mixins/MyCoursesMixin.js b/resources/vue/mixins/MyCoursesMixin.js
index 6b2270742d2e26aef7dc52abe4de431b45785b12..fa28388e638c1d1ca2824daa5ce3b5fde33e36ab 100644
--- a/resources/vue/mixins/MyCoursesMixin.js
+++ b/resources/vue/mixins/MyCoursesMixin.js
@@ -141,7 +141,7 @@ export default {
                         result.icon.role = 'clickable';
                     }
 
-                    result.url = this.urlFor('seminar_main.php', {
+                    result.url = this.urlFor('dispatch.php/course/go', {
                         to: course.id,
                         redirect_to: result.url,
                     });