diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php
index 0394f9d907e8d1c290728f6be0086951f3f68d3d..d817ce01a942983483fe3ebc121169f86032bd27 100644
--- a/app/controllers/course/wiki.php
+++ b/app/controllers/course/wiki.php
@@ -545,6 +545,32 @@ class Course_WikiController extends AuthenticatedController
     public function newpages_action()
     {
         Navigation::activateItem('/course/wiki/listnew');
+
+        $this->limit = Config::get()->ENTRIES_PER_PAGE;
+        $statement = DBManager::get()->prepare("
+            SELECT COUNT(*) FROM (
+                SELECT `wiki_pages`.`page_id` AS `id`,
+                       0 AS `is_version`,
+                       `wiki_pages`.`chdate` AS `timestamp`
+                FROM `wiki_pages`
+                WHERE `wiki_pages`.`range_id` = :range_id
+
+                UNION
+
+                SELECT `wiki_versions`.`version_id` AS `id`,
+                       1 AS `is_version`,
+                       `wiki_versions`.`mkdate` AS `timestamp`
+                FROM `wiki_versions`
+                JOIN `wiki_pages` USING (`page_id`)
+                WHERE `wiki_pages`.`range_id` = :range_id
+            ) AS `all_entries`
+        ");
+        $statement->execute([
+            'range_id' => $this->range->id
+        ]);
+        $this->num_entries = $statement->fetch(PDO::FETCH_COLUMN);
+        $this->page = Request::int('page', 0);
+
         $statement = DBManager::get()->prepare("
             SELECT `wiki_pages`.`page_id` AS `id`,
                    0 AS `is_version`,
@@ -560,10 +586,13 @@ class Course_WikiController extends AuthenticatedController
             FROM `wiki_versions`
             JOIN `wiki_pages` USING (`page_id`)
             WHERE `wiki_pages`.`range_id` = :range_id
-            ORDER BY `timestamp`
+            ORDER BY `timestamp` DESC
+            LIMIT :offset, :limit
         ");
         $statement->execute([
-            'range_id' => $this->range->id
+            'range_id' => $this->range->id,
+            'offset' => Request::int('page', 0) * $this->limit,
+            'limit' => $this->limit
         ]);
         $this->versions = [];
         foreach ($statement->fetchAll(PDO::FETCH_ASSOC) as $row) {
diff --git a/app/views/course/wiki/allpages.php b/app/views/course/wiki/allpages.php
index 0bfe4ce4b04d9c34f46c4f3f29da8cd024e70418..5e4fcb86a007cb49c4b2cdecc6e507a27907b9cb 100644
--- a/app/views/course/wiki/allpages.php
+++ b/app/views/course/wiki/allpages.php
@@ -12,26 +12,24 @@
     <thead>
         <tr>
             <th data-sort="text"><?= _('Seitenname') ?></th>
-            <th data-sort="text"><?= _('Änderungen') ?></th>
-            <th data-sort="text"><?= _('Letzte Änderung') ?></th>
+            <th data-sort="digit"><?= _('Änderungen') ?></th>
+            <th data-sort="htmldata"><?= _('Letzte Änderung') ?></th>
             <th data-sort="text"><?= _('Zuletzt bearbeitet von') ?></th>
         </tr>
     </thead>
     <tbody>
         <? foreach ($pages as $page) : ?>
         <tr>
-            <td data-sort-value="<?= htmlReady($page->name) ?>">
+            <td data-text="<?= htmlReady($page->name) ?>">
                 <a href="<?= $controller->page($page) ?>">
                     <?= htmlReady($page->name) ?>
                 </a>
             </td>
-            <td data-sort-value="<?= count($page->versions) + 1 ?>">
-                <?= count($page->versions) + 1 ?>
-            </td>
-            <td data-sort-value="<?= htmlReady($page->chdate) ?>">
+            <td><?= count($page->versions) + 1 ?></td>
+            <td data-sort-value="<?= $page->chdate ?>">
                 <?= $page->chdate > 0 ? date('d.m.Y H:i:s', $page->chdate) : _('unbekannt') ?>
             </td>
-            <td data-sort-value="<?= htmlReady($page->user ? $page->user->getFullName() : _('unbekannt')) ?>">
+            <td data-text="<?= htmlReady($page->user ? $page->user->getFullName() : _('unbekannt')) ?>">
                 <?= Avatar::getAvatar($page->user_id)->getImageTag(Avatar::SMALL) ?>
                 <?= htmlReady($page->user ? $page->user->getFullName() : _('unbekannt')) ?>
             </td>
diff --git a/app/views/course/wiki/newpages.php b/app/views/course/wiki/newpages.php
index da7b560da2aaf8543853a52fb70cb2afd7eed48c..0220ac4dcde6843ba632eb86e56750c847dbf14f 100644
--- a/app/views/course/wiki/newpages.php
+++ b/app/views/course/wiki/newpages.php
@@ -1,4 +1,4 @@
-<table class="default sortable-table" data-sortlist="[[3, 0]]">
+<table class="default sortable-table" data-sortlist="[[3, 1]]">
     <caption>
         <?= _('Letzte Änderungen') ?>
     </caption>
@@ -15,4 +15,13 @@
             <?= $this->render_partial('course/wiki/versioncompare', ['version' => $version]) ?>
         <? endforeach ?>
     </tbody>
+    <? if ($num_entries > $limit) : ?>
+        <tfoot>
+            <tr>
+                <td colspan="4" class="actions">
+                    <?= Pagination::create($num_entries, $page, $limit)->asLinks() ?>
+                </td>
+            </tr>
+        </tfoot>
+    <? endif ?>
 </table>
diff --git a/app/views/course/wiki/versioncompare.php b/app/views/course/wiki/versioncompare.php
index 490d1e28cd6b0910b9b1f642a0202cc0234934ae..9c98ce4a27c6ece1bf49c12087c35d1dddb73729 100644
--- a/app/views/course/wiki/versioncompare.php
+++ b/app/views/course/wiki/versioncompare.php
@@ -18,11 +18,11 @@
             $oldcontent = substr($oldcontent, 0, -1);
         }
         if ($content) {
-            echo nl2br(htmlReady($content));
+            echo nl2br(htmlReady(mila($content, 300)));
         } elseif ($oldcontent) {
             echo _('Gelöscht') . ': ' . nl2br(htmlReady($oldcontent));
         } else {
-            echo nl2br(strip_tags(wikiReady($version->content)));
+            echo nl2br(strip_tags(wikiReady(mila($version->content, 300))));
         }
 
         ?></td>