diff --git a/lib/extern/ExternPagePersBrowse.php b/lib/extern/ExternPagePersBrowse.php
index ceb72d5ee0e5e37f996fd5c77d2c221c32606b0f..1eb5a04dc29d0e990dcd867c4161f14d6bda1515 100644
--- a/lib/extern/ExternPagePersBrowse.php
+++ b/lib/extern/ExternPagePersBrowse.php
@@ -32,7 +32,7 @@ class ExternPagePersBrowse extends ExternPage
 
     /**
      * @see ExternPage::getDataFields()
-     
+
      * @param array $classes
      * @return array
      */
@@ -343,6 +343,7 @@ class ExternPagePersBrowse extends ExternPage
                         LEFT JOIN auth_user_md5 aum ON su.user_id = aum.user_id
                     WHERE ui.Institut_id = ?
                         AND su.status = 'dozent'
+                        AND s.visible = 1
                         AND ui.externdefault = 1
                         AND " . get_ext_vis_query() . "
                         AND ui.inst_perms = 'dozent'
diff --git a/lib/extern/ExternPagePersonDetails.php b/lib/extern/ExternPagePersonDetails.php
index 8fb654044044173fec6ebd457205d940761af2ca..a62d48216bb8afd46d89079c9d9bbfa08c6fbe64 100644
--- a/lib/extern/ExternPagePersonDetails.php
+++ b/lib/extern/ExternPagePersonDetails.php
@@ -146,7 +146,8 @@ class ExternPagePersonDetails extends ExternPage
                 LEFT JOIN `seminar_user` USING(`seminar_id`)
                 LEFT JOIN `sem_types`
                     ON `sem_types`.`id` = `seminare`.`status`
-            WHERE `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`)
+            WHERE `seminare`.`visible` = 1
+                AND `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`)
                 AND `seminar_user`.`user_id` = :user_id
                 AND `seminar_user`.`status` = 'dozent'
                 AND `sem_types`.`class` IN (:semclasses)";
diff --git a/lib/extern/ExternPageTimetable.php b/lib/extern/ExternPageTimetable.php
index 5d8dfd992aea15ab395d400c0e8e726381ce303e..1e0e66af5a0d08d079caf2f6e6489398e97bc7b1 100644
--- a/lib/extern/ExternPageTimetable.php
+++ b/lib/extern/ExternPageTimetable.php
@@ -119,7 +119,11 @@ class ExternPageTimetable extends ExternPage
                 LEFT JOIN `seminar_inst`
                     ON `seminare`.`Seminar_id` = `seminar_inst`.`Seminar_id`";
         $query .= "
-            WHERE (`termine`.`date` >= :start AND `termine`.`date` <= :end) "
+            WHERE (
+                `seminare`.`visible` = 1
+                    AND termine`.`date` >= :start
+                    AND `termine`.`date` <= :end
+            )"
             . $this->getEventTypeSQL($params)
             . $this->getScopesSQL($params, $this->studyareas, (bool) $this->scope_kids)
             . $this->getInstitutesSQL($params)