diff --git a/lib/extern/modules/ExternModuleTemplateLectures.class.php b/lib/extern/modules/ExternModuleTemplateLectures.class.php
index 46c470e9a84747861e3ddad605496e37e016d992..f7b2b1da04392a4bad3c04394e55847d6c0dcc38 100644
--- a/lib/extern/modules/ExternModuleTemplateLectures.class.php
+++ b/lib/extern/modules/ExternModuleTemplateLectures.class.php
@@ -470,7 +470,7 @@ class ExternSemBrowseTemplate extends SemBrowse {
                         $doz_titlerear = array_keys($sem_data[$seminar_id]['title_rear']);
                         $doz_uname = array_keys($sem_data[$seminar_id]['username']);
                         $doz_position = array_keys($sem_data[$seminar_id]['position']);
-                        if (sizeof($doz_position) < $doz_name) {
+                        if (sizeof($doz_position) < sizeof($doz_name)) {
                             $doz_position = array_fill(0, sizeof($doz_name), 0);
                         }
                         if (is_array($doz_name)){
diff --git a/lib/extern/modules/views/ExternSemBrowse.class.php b/lib/extern/modules/views/ExternSemBrowse.class.php
index bbebdbd257794ba0e5071dd91124bc3dd59db88a..4ba487e980f4c9e55829cca8595ab139ec6d162d 100644
--- a/lib/extern/modules/views/ExternSemBrowse.class.php
+++ b/lib/extern/modules/views/ExternSemBrowse.class.php
@@ -78,8 +78,14 @@ class ExternSemBrowse extends SemBrowse {
             }
         }
 
-        $switch_time = mktime(0, 0, 0, date("m"),
-                date("d") + 7 * $this->config->getValue("Main", "semswitch"), date("Y"));
+        // Is a semester switch defined?
+        $week_offset = $this->config->getValue('Main', 'semswitch');
+        if (ctype_digit($week_offset)) {
+            $switch_time = strtotime("+{$week_offset} weeks 0:00:00");
+        } else {
+            $switch_time = strtotime('0:00:00');
+        }
+
         // get current semester
         $current_sem = get_sem_num($switch_time) + 1;
 
diff --git a/lib/extern/modules/views/ExternSemBrowseTable.class.php b/lib/extern/modules/views/ExternSemBrowseTable.class.php
index 3659100ae7cda76099ebae8b3db4b249890a2762..d9c6d11056b92c9db00e3d8de41be31cdb4e43d0 100644
--- a/lib/extern/modules/views/ExternSemBrowseTable.class.php
+++ b/lib/extern/modules/views/ExternSemBrowseTable.class.php
@@ -138,8 +138,7 @@ class ExternSemBrowseTable extends SemBrowse {
                 $the_tree->buildIndex();
                 $selected_ranges = array_merge([$stid], $the_tree->getKidsKids($stid));
             }
-            if (!$this->module->config->getValue('SelectSubjectAreas', 'selectallsubjectareas')
-                    && count($selected_ranges)) {
+            if (!$this->module->config->getValue('SelectSubjectAreas', 'selectallsubjectareas') && $selected_ranges) {
                 if ($this->module->config->getValue('SelectSubjectAreas', 'reverseselection')) {
                     $sem_range_query =  "AND seminar_sem_tree.sem_tree_id NOT IN ('".implode("','", $selected_ranges)."')";
                 } else {
@@ -155,7 +154,7 @@ class ExternSemBrowseTable extends SemBrowse {
                 $selected_semtypes = [Request::get('semstatus')];
             }
             $sem_types_array = [];
-            if (count($selected_semtypes)) {
+            if ($selected_semtypes) {
                 foreach ($selected_semtypes as $i => $active) {
                     if ($active == '1') {
                         $sem_types_array[] = $i + 1;