diff --git a/app/controllers/admin/cronjobs/schedules.php b/app/controllers/admin/cronjobs/schedules.php
index 5a1d12aeb70d3f3f62a039f15ea8180b4ea3487d..294d78d0b2d8942617a883f07111f561ed312c00 100644
--- a/app/controllers/admin/cronjobs/schedules.php
+++ b/app/controllers/admin/cronjobs/schedules.php
@@ -61,24 +61,14 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
 
     /**
      * Displays all available schedules according to the set filters.
-     *
-     * @param int $page Which page to display
      */
-    public function index_action($page = 0)
+    public function index_action()
     {
         $filter = $_SESSION['cronjob-filter'];
 
         $this->total = CronjobSchedule::countBySql('1');
 
-        $this->pagination = Pagination::create(
-            CronjobSchedule::countBySql($filter['where']),
-            $page
-        );
-
-        $this->schedules = $this->pagination->loadSORMCollection(
-            CronjobSchedule::class,
-            $filter['where']
-        );
+        $this->schedules = CronjobSchedule::findBySQL($filter['where']);
 
         // Filters
         $this->tasks  = CronjobTask::findBySql('1');
@@ -134,9 +124,8 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
      * Edits a schedule.
      *
      * @param String $id   Id of the schedule in question (null to create)
-     * @param int    $page Return to this page after editing (optional)
      */
-    public function edit_action(CronjobSchedule $schedule = null, $page = 0)
+    public function edit_action(CronjobSchedule $schedule = null)
     {
         if (Request::submitted('store')) {
             $parameters = Request::getArray('parameters');
@@ -173,7 +162,7 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
             $schedule->store();
 
             PageLayout::postSuccess(_('Die Änderungen wurden gespeichert.'));
-            $this->redirect('admin/cronjobs/schedules/index/' . $page);
+            $this->redirect('admin/cronjobs/schedules/index');
             return;
         }
 
@@ -182,11 +171,10 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
         $actions = Sidebar::get()->addWidget(new ActionsWidget());
         $actions->addLink(
             _('Zurück zur Übersicht'),
-            $this->indexURL($page),
+            $this->indexURL(),
             Icon::create('link-intern')
         );
 
-        $this->page  = $page;
         $this->tasks = CronjobTask::findBySql('1');
     }
 
@@ -214,56 +202,51 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
      * Activates a schedule.
      *
      * @param CronjobSchedule $schedule Schedule to activate
-     * @param int             $page Return to this page after activating (optional)
      */
-    public function activate_action(CronjobSchedule $schedule, $page = 0)
+    public function activate_action(CronjobSchedule $schedule)
     {
         $schedule->activate();
 
         if (!Request::isXhr()) {
             PageLayout::postSuccess(_('Der Cronjob wurde aktiviert.'));
         }
-        $this->redirect("admin/cronjobs/schedules/index/{$page}#job-{$schedule->id}");
+        $this->redirect("admin/cronjobs/schedules/index#job-{$schedule->id}");
     }
 
     /**
      * Deactivates a schedule.
      *
      * @param CronjobSchedule $schedule Schedule to deactivate
-     * @param int             $page Return to this page after deactivating (optional)
      */
-    public function deactivate_action(CronjobSchedule $schedule, $page = 0)
+    public function deactivate_action(CronjobSchedule $schedule)
     {
         $schedule->deactivate();
 
         if (!Request::isXhr()) {
             PageLayout::postSuccess(_('Der Cronjob wurde deaktiviert.'));
         }
-        $this->redirect("admin/cronjobs/schedules/index/{$page}#job-{$schedule->id}");
+        $this->redirect("admin/cronjobs/schedules/index#job-{$schedule->id}");
     }
 
     /**
      * Cancels/deletes a schedule.
      *
      * @param CronjobSchedule $schedule Schedule to cancel
-     * @param int             $page Return to this page after canceling (optional)
      */
-    public function cancel_action(CronjobSchedule $schedule, $page = 0)
+    public function cancel_action(CronjobSchedule $schedule)
     {
         CSRFProtection::verifyUnsafeRequest();
         $schedule->delete();
 
         PageLayout::postSuccess(_('Der Cronjob wurde gelöscht.'));
-        $this->redirect("admin/cronjobs/schedules/index/{$page}");
+        $this->redirect('admin/cronjobs/schedules/index');
     }
 
     /**
      * Performs a bulk operation on a set of schedules. Operation can be
      * either activating, deactivating or canceling/deleting.
-     *
-     * @param int    $page Return to this page afterwarsd (optional)
      */
-    public function bulk_action($page = 0)
+    public function bulk_action()
     {
         $action    = Request::option('action');
         $ids       = Request::optionArray('ids');
@@ -310,6 +293,6 @@ class Admin_Cronjobs_SchedulesController extends AuthenticatedController
             PageLayout::postSuccess($message);
         }
 
-        $this->redirect("admin/cronjobs/schedules/index/{$page}");
+        $this->redirect('admin/cronjobs/schedules/index');
     }
 }
diff --git a/app/controllers/admin/cronjobs/tasks.php b/app/controllers/admin/cronjobs/tasks.php
index 1e9a5e7494b0f2feb86d243abf10b9c9152fbcb0..94a4fcaa87ae05370ca5c7bee2f73af64ba548dd 100644
--- a/app/controllers/admin/cronjobs/tasks.php
+++ b/app/controllers/admin/cronjobs/tasks.php
@@ -47,26 +47,18 @@ class Admin_Cronjobs_TasksController extends AuthenticatedController
 
     /**
      * Displays all available tasks.
-     *
-     * @param int $page Which page to display
      */
-    public function index_action($page = 0)
+    public function index_action()
     {
-        $this->pagination = Pagination::create(
-            CronjobTask::countBySql('1'),
-            $page
-        );
-
-        $this->tasks = $this->pagination->loadSORMCollection(CronjobTask::class);
+        $this->tasks = CronjobTask::findBySQL('1');
     }
 
     /**
      * Activates a tasks.
      *
      * @param CronjobTask $task Task to activate
-     * @param int         $page Return to this page after activating (optional)
      */
-    public function activate_action(CronjobTask $task, $page = 0)
+    public function activate_action(CronjobTask $task)
     {
         $task->active = true;
         $task->store();
@@ -80,16 +72,15 @@ class Admin_Cronjobs_TasksController extends AuthenticatedController
             $message = sprintf(_('Die Aufgabe und %u Cronjob(s) wurden aktiviert.'), $activated);
             PageLayout::postSuccess($message);
         }
-        $this->redirect("admin/cronjobs/tasks/index/{$page}#task-{$task->id}");
+        $this->redirect("admin/cronjobs/tasks/index#task-{$task->id}");
     }
 
     /**
      * Deactivates a tasks.
      *
      * @param CronjobTask $task Task to deactivate
-     * @param int         $page Return to this page after deactivating (optional)
      */
-    public function deactivate_action(CronjobTask $task, $page = 0)
+    public function deactivate_action(CronjobTask $task)
     {
         $task->active = false;
         $task->store();
@@ -103,16 +94,15 @@ class Admin_Cronjobs_TasksController extends AuthenticatedController
             $message = sprintf(_('Die Aufgabe und %u Cronjob(s) wurden deaktiviert.'), $deactivated);
             PageLayout::postSuccess($message);
         }
-        $this->redirect("admin/cronjobs/tasks/index/{$page}#task-{$task->id}");
+        $this->redirect("admin/cronjobs/tasks/index#task-{$task->id}");
     }
 
     /**
      * Deletes a tasks.
      *
      * @param CronjobTask $task Task to delete
-     * @param int         $page Return to this page after deleting (optional)
      */
-    public function delete_action(CronjobTask $task, $page = 0)
+    public function delete_action(CronjobTask $task)
     {
         CSRFProtection::verifyUnsafeRequest();
         $deleted = $task->schedules->count();
@@ -121,16 +111,14 @@ class Admin_Cronjobs_TasksController extends AuthenticatedController
         $message = sprintf(_('Die Aufgabe und %u Cronjob(s) wurden gelöscht.'), $deleted);
         PageLayout::postSuccess($message);
 
-        $this->redirect("admin/cronjobs/tasks/index/{$page}");
+        $this->redirect('admin/cronjobs/tasks/index');
     }
 
     /**
      * Performs a bulk operation on a set of tasks. Operation can be either
      * activating, deactivating or deleting.
-     *
-     * @param int    $page Return to this page afterwarsd (optional)
      */
-    public function bulk_action($page = 0)
+    public function bulk_action()
     {
         $action = Request::option('action');
         $ids    = Request::optionArray('ids');
@@ -170,7 +158,7 @@ class Admin_Cronjobs_TasksController extends AuthenticatedController
             PageLayout::postSuccess($message);
         }
 
-        $this->redirect('admin/cronjobs/tasks/index/' . $page);
+        $this->redirect('admin/cronjobs/tasks/index');
     }
 
     /**
diff --git a/app/views/admin/cronjobs/schedules/edit.php b/app/views/admin/cronjobs/schedules/edit.php
index b73aa3a0a9f0e6304ef3c5bf3efba9ddae005801..96be249d333443f9527fddb9d304a6acd347d7e9 100644
--- a/app/views/admin/cronjobs/schedules/edit.php
+++ b/app/views/admin/cronjobs/schedules/edit.php
@@ -18,7 +18,7 @@ $days_of_week = [
     7 => _('Sonntag'),
 ];
 ?>
-<form action="<?= $controller->edit($schedule, $page) ?>" method="post" class="cronjobs-edit default">
+<form action="<?= $controller->edit($schedule) ?>" method="post" class="cronjobs-edit default">
     <?= CSRFProtection::tokenTag() ?>
 
     <h1>
@@ -242,6 +242,6 @@ $days_of_week = [
 
     <footer class="buttons">
         <?= Button::createAccept(_('Speichern'), 'store') ?>
-        <?= LinkButton::createCancel('Abbrechen', $controller->indexURL($page)) ?>
+        <?= LinkButton::createCancel('Abbrechen', $controller->indexURL()) ?>
     </footer>
 </form>
diff --git a/app/views/admin/cronjobs/schedules/index.php b/app/views/admin/cronjobs/schedules/index.php
index 2db97d1af1e7d24d9bc756abf3607c324c8e4391..61608758899ea406f0ce69c0cc41fa4588927f4c 100644
--- a/app/views/admin/cronjobs/schedules/index.php
+++ b/app/views/admin/cronjobs/schedules/index.php
@@ -3,7 +3,6 @@
  * @var CronjobTask[] $tasks
  * @var CronjobSchedule[] $schedules
  * @var Admin_Cronjobs_SchedulesController $controller
- * @var Pagination $pagination
  * @var int $total
  * @var array $filter
  */
@@ -15,8 +14,8 @@ use Studip\Button, Studip\LinkButton;
     <fieldset>
         <legend>
             <?= _('Darstellung einschränken') ?>
-            <? if ($pagination->getTotal() != $total): ?>
-                <?= sprintf(_('Passend: %u von %u Cronjobs'), $pagination->getTotal(), $total) ?>
+            <? if (count($schedules) != $total): ?>
+                <?= sprintf(_('Passend: %u von %u Cronjobs'), count($schedules), $total) ?>
             <? endif; ?>
         </legend>
         <label class="col-2">
@@ -67,7 +66,7 @@ use Studip\Button, Studip\LinkButton;
 </form>
 
 
-<form class="cronjobs" action="<?= $controller->bulk($pagination->getCurrentPage()) ?>" method="post">
+<form class="cronjobs" action="<?= $controller->bulk() ?>" method="post">
     <?= CSRFProtection::tokenTag() ?>
 
     <table class="default cronjobs sortable-table" data-sortlist="[[1, 0]]">
@@ -114,12 +113,12 @@ use Studip\Button, Studip\LinkButton;
                     <? if (!$schedule->task->active): ?>
                         <?= Icon::create('checkbox-unchecked', Icon::ROLE_INACTIVE)->asImg(['title' => _('Cronjob kann nicht aktiviert werden, da die zugehörige ' . 'Aufgabe deaktiviert ist.')]) ?>
                     <? elseif ($schedule->active): ?>
-                        <a href="<?= $controller->deactivate($schedule, $pagination->getCurrentPage()) ?>"
+                        <a href="<?= $controller->deactivate($schedule) ?>"
                            data-behaviour="ajax-toggle">
                             <?= Icon::create('checkbox-checked')->asImg(['title' => _('Cronjob deaktivieren')]) ?>
                         </a>
                     <? else: ?>
-                        <a href="<?= $controller->activate($schedule, $pagination->getCurrentPage()) ?>"
+                        <a href="<?= $controller->activate($schedule) ?>"
                            data-behaviour="ajax-toggle">
                             <?= Icon::create('checkbox-unchecked')->asImg(['title' => _('Cronjob aktivieren')]) ?>
                         </a>
@@ -137,7 +136,7 @@ use Studip\Button, Studip\LinkButton;
                     <a data-dialog href="<?= $controller->display($schedule) ?>">
                         <?= Icon::create('admin')->asImg(['title' => _('Cronjob anzeigen')]) ?>
                     </a>
-                    <a href="<?= $controller->edit($schedule, $pagination->getCurrentPage()) ?>">
+                    <a href="<?= $controller->edit($schedule) ?>">
                         <?= Icon::create('edit')->asImg(['title' => _('Cronjob bearbeiten')]) ?>
                     </a>
                     <a href="<?= $controller->link_for('admin/cronjobs/logs/schedule', $schedule) ?>">
@@ -145,7 +144,7 @@ use Studip\Button, Studip\LinkButton;
                     </a>
                     <?= Icon::create('trash')->asInput([
                         'data-confirm' => _('Wollen Sie den ausgewählten Cronjob wirklich löschen?'),
-                        'formaction'   => $controller->cancelURL($schedule, $pagination->getCurrentPage()),
+                        'formaction'   => $controller->cancelURL($schedule),
                     ]) ?>
                 </td>
             </tr>
@@ -161,12 +160,6 @@ use Studip\Button, Studip\LinkButton;
                     <option value="cancel"><?= _('Löschen') ?></option>
                 </select>
                 <?= Button::createAccept(_('Ausführen'), 'bulk') ?>
-
-                <section style="float: right">
-                    <?= $pagination->asLinks(function ($page) use ($controller) {
-                        return $controller->index($page);
-                    }) ?>
-                </section>
             </td>
         </tr>
         </tfoot>
diff --git a/app/views/admin/cronjobs/tasks/index.php b/app/views/admin/cronjobs/tasks/index.php
index 2e0adde53d15946cc26a457d823b9138d885a446..c39df93f0e8dae4a125a0476e4654618e44e1f4f 100644
--- a/app/views/admin/cronjobs/tasks/index.php
+++ b/app/views/admin/cronjobs/tasks/index.php
@@ -1,14 +1,13 @@
 <?php
 /**
  * @var Admin_Cronjobs_TasksController $controller
- * @var Pagination $pagination
  * @var CronjobTask[] $tasks
  */
 
 use Studip\Button;
 ?>
 
-<form action="<?= $controller->bulk($pagination->getCurrentPage()) ?>" method="post" class="default">
+<form action="<?= $controller->bulk() ?>" method="post" class="default">
     <?= CSRFProtection::tokenTag() ?>
 
     <table class="default cronjobs sortable-table" data-sortlist="[[1,0]]">
@@ -50,11 +49,11 @@ use Studip\Button;
                 <td><?= $task->isCore() ? _('Kern') : _('Plugin') ?></td>
                 <td style="text-align: center;" data-sort-value="'<?= (int) $task->active ?>'">
                 <? if ($task->active): ?>
-                    <a href="<?= $controller->deactivate($task, $pagination->getCurrentPage()) ?>" data-behaviour="ajax-toggle">
+                    <a href="<?= $controller->deactivate($task) ?>" data-behaviour="ajax-toggle">
                         <?= Icon::create('checkbox-checked')->asImg(['title' => _('Aufgabe deaktivieren')]) ?>
                     </a>
                 <? else: ?>
-                    <a href="<?= $controller->activate($task, $pagination->getCurrentPage()) ?>" data-behaviour="ajax-toggle">
+                    <a href="<?= $controller->activate($task) ?>" data-behaviour="ajax-toggle">
                         <?= Icon::create('checkbox-unchecked')->asImg(['title' => _('Aufgabe aktivieren')]) ?>
                     </a>
                 <? endif; ?>
@@ -70,7 +69,7 @@ use Studip\Button;
                     </a>
                     <?= Icon::create('trash')->asInput([
                         'data-confirm' => _('Wollen Sie die ausgewählte Aufgabe wirklich löschen?'),
-                        'formaction'   => $controller->deleteURL($task, $pagination->getCurrentPage()),
+                        'formaction'   => $controller->deleteURL($task),
                     ]) ?>
                 </td>
             </tr>
@@ -86,12 +85,6 @@ use Studip\Button;
                         <option value="delete"><?= _('Löschen') ?></option>
                     </select>
                     <?= Button::createAccept(_('Ausführen'), 'bulk') ?>
-
-                    <section style="float: right">
-                        <?= $pagination->asLinks(function ($page) use ($controller) {
-                            return $controller->index($page);
-                        }) ?>
-                    </section>
                 </td>
             </tr>
         </tfoot>