diff --git a/app/controllers/files.php b/app/controllers/files.php
index f5957d7d9e3ec94ea8f57e6b4ca5ab3bf235df47..effdf627ac9bd15a566c9616ea8cf71f12c752d4 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -343,6 +343,7 @@ class FilesController extends AuthenticatedController
                     if ($this->begin > $this->end) {
                         $this->begin = clone $this->end;
                     }
+
                     if ($this->begin instanceof DateTime) {
                         $this->begin->setTime(0,0,0);
                     }
@@ -350,7 +351,7 @@ class FilesController extends AuthenticatedController
                         $this->end->setTime(23,59,59);
                     }
 
-                    if (!is_array($_SESSION['files_overview'])) {
+                    if (!isset($_SESSION['files_overview'])) {
                         $_SESSION['files_overview'] = [];
                     }
                     $_SESSION['files_overview']['begin'] = $this->begin;
@@ -359,7 +360,7 @@ class FilesController extends AuthenticatedController
                 if (Request::submitted('course_id')) {
                     $course_did_change = true;
                     $this->course_id = Request::get('course_id');
-                    if (!is_array($_SESSION['files_overview'])) {
+                    if (!isset($_SESSION['files_overview'])) {
                         $_SESSION['files_overview'] = [];
                     }
                     $_SESSION['files_overview']['course_id'] = $this->course_id;
diff --git a/app/views/files/flat.php b/app/views/files/flat.php
index 1440117efed4fbaa22add0fbf2dfbcb7cd1a89da..3072256343f68aa6ecaa631cff2c17ab7a591273 100644
--- a/app/views/files/flat.php
+++ b/app/views/files/flat.php
@@ -56,9 +56,14 @@ foreach ($topFolder->getAdditionalActionButtons() as $button) {
                  :topfolder="topfolder"
                  :allow_filter="<?= json_encode(!empty($enable_table_filter)) ?>"
                  table_title="<?= htmlReady($table_title ?? '') ?>"
-                 pagination="<?= htmlReady($pagination_html ?? '') ?>"
                  :initial_sort="{sortedBy:'chdate',sortDirection:'desc'}"
-    ></files-table>
+    >
+    <? if (!empty($pagination_html)): ?>
+        <template #pagination>
+            <?= $pagination_html ?>
+        </template>
+    <? endif; ?>
+    </files-table>
 </form>
 <?
 if (!empty($show_default_sidebar)) {
diff --git a/resources/assets/stylesheets/scss/pagination.scss b/resources/assets/stylesheets/scss/pagination.scss
index 7a921e05c7bcceea59dcc342dde084380e6a2ba2..99b8adf7bc64a13d8c471f3de5df6e89847f0f71 100644
--- a/resources/assets/stylesheets/scss/pagination.scss
+++ b/resources/assets/stylesheets/scss/pagination.scss
@@ -23,10 +23,6 @@
         }
     }
 
-    .divider--template {
-        display: none;
-    }
-
     .pagination--link {
         background-color: transparent;
         border: 0;
diff --git a/resources/vue/components/FilesTable.vue b/resources/vue/components/FilesTable.vue
index 1e19cc9f9489391ef875f9da186739f8fa5f84f6..71db77ff8d2f22af5f4a6bf97bc530fffe10f4a6 100644
--- a/resources/vue/components/FilesTable.vue
+++ b/resources/vue/components/FilesTable.vue
@@ -298,7 +298,9 @@
                             <span v-if="tfoot_link" :colspan="(topfolder.buttons && show_bulk_actions ? 1 : numberOfColumns)">
                                 <a :href="tfoot_link.href">{{tfoot_link.text}}</a>
                             </span>
-                            <span v-if="pagination" v-html="pagination" class="pagination"></span>
+                            <slot name="pagination">
+                                <span v-if="pagination" v-html="pagination" class="pagination"></span>
+                            </slot>
                         </div>
                     </td>
                 </tr>
diff --git a/templates/pagination/buttons.php b/templates/pagination/buttons.php
index 1c62b10a83dbbaa390d2fcdd1f67eb902085c318..9bfd0bdc571d52687988b354d28c9216b4e4b797 100644
--- a/templates/pagination/buttons.php
+++ b/templates/pagination/buttons.php
@@ -41,11 +41,4 @@
         </button>
     </li>
 <? endif; ?>
-
-    <li class="divider--template">
-        <button class="pagination--link" name="<?= htmlReady($name) ?>" value="{{value}}" <? if ($dialog !== null) echo "data-dialog=\"{$dialog}\""; ?>>
-            <span class="audible"><?= _('Seite') ?></span>
-            {{label}}
-        </button>
-    </li>
 </ul>
diff --git a/templates/pagination/links.php b/templates/pagination/links.php
index 6d824ed93d8f7c03489017afb41597883d4f7da6..007b77a719fb46d1ccba5fefa98e00b6e4364d84 100644
--- a/templates/pagination/links.php
+++ b/templates/pagination/links.php
@@ -43,11 +43,4 @@
         </a>
     </li>
 <? endif; ?>
-
-    <li class="divider--template">
-        <a class="pagination--link" href="<?= $link_for('{{value}}') ?>" <? if ($dialog !== null) echo "data-dialog=\"{$dialog}\""; ?>>
-            <span class="audible"><?= _('Seite') ?></span>
-            {{label}}
-        </a>
-    </li>
 </ul>
diff --git a/templates/sidebar/time-range-filter.php b/templates/sidebar/time-range-filter.php
index 97dbcf678208c656209843adee13664d47fc97a1..059c51dc715c0f6844a704f1c627bc18e47cff67 100644
--- a/templates/sidebar/time-range-filter.php
+++ b/templates/sidebar/time-range-filter.php
@@ -2,13 +2,16 @@
     <?= CSRFProtection::tokenTag() ?>
     <label>
         <?= _('Dateien neuer als') ?>:
-        <input type="text" name="begin" value="<?= htmlReady($begin ?? '') ?>"
-               class="hasDatePicker">
+        <input type="text" name="begin" id="begin"
+               value="<?= htmlReady($begin ?? '') ?>"
+               data-date-picker="<?= htmlReady(json_encode(['<=' => '#end'])) ?>">
     </label>
     <label>
         <?= _('Dateien älter als') ?>:
-        <input type="text" name="end" value="<?= htmlReady($end ?? '') ?>"
-               class="hasDatePicker submit-on-change">
+        <input type="text" name="end" id="end"
+               value="<?= htmlReady($end ?? '') ?>"
+               data-date-picker="<?= htmlReady(json_encode(['>=' => '#begin'])) ?>"
+               onchange="this.closest('form').submit()">
     </label>
     <? if (!empty($course_options)) : ?>
         <label>