diff --git a/public/seminar_main.php b/public/seminar_main.php
index 7958a7f5e09bc3e102b4973a8dcbb14efac2952c..0e7eed1e9ea862658a3c2fe8d81c08719fcb88b8 100644
--- a/public/seminar_main.php
+++ b/public/seminar_main.php
@@ -62,17 +62,13 @@ if (Request::get('auswahl')) {
 
 
 // gibt es eine Anweisung zur Umleitung?
-if (Request::get('redirect_to')) {
-    $query_parts = explode('&', mb_stristr(urldecode($_SERVER['QUERY_STRING']), 'redirect_to'));
-    list( , $where_to) = explode('=', array_shift($query_parts));
-    $new_query = $where_to . '?' . join('&', $query_parts);
-    $new_query = preg_replace('/[^:0-9a-z+_.#?&=\/-]/i', '', $new_query);
-
-    if (preg_match('~^(\w+:)?//~', $new_query) && !is_internal_url($new_query)) {
+$redirect_to = Request::get('redirect_to');
+if ($redirect_to) {
+    if (!is_internal_url($redirect_to)) {
         throw new Exception('Invalid redirection');
     }
 
-    header('Location: '.URLHelper::getURL($new_query, ['cid' => $course_id]));
+    header('Location: '.URLHelper::getURL($redirect_to, ['cid' => $course_id]));
     die;
 }