diff --git a/include/ajax.config.php b/include/ajax.config.php
index 733fa014d2c18af5e09d92c5b3ba497561f1b8ca..093914a6d5791640b02310bd7ee38e0f7f34c6f2 100644
--- a/include/ajax.config.php
+++ b/include/ajax.config.php
@@ -20,7 +20,7 @@ class ConfigAjaxAPI extends AjaxController {
 
     //config info UI might need.
     function scp() {
-        global $cfg;
+        global $cfg, $thisstaff;
 
         $lang = Internationalization::getCurrentLanguage();
         list($sl, $locale) = explode('_', $lang);
@@ -38,6 +38,7 @@ class ConfigAjaxAPI extends AjaxController {
               'lang'            => $lang,
               'short_lang'      => $sl,
               'has_rtl'         => $rtl,
+              'page_size'       => $thisstaff->getPageLimit(),
         );
         return $this->json_encode($config);
     }
diff --git a/scp/js/dashboard.inc.js b/scp/js/dashboard.inc.js
index c902e4be2d77352909602d2d72b31758909136a8..40a094ac2a269b455882c234cfdd149760300848 100644
--- a/scp/js/dashboard.inc.js
+++ b/scp/js/dashboard.inc.js
@@ -136,6 +136,8 @@
         }
 
         var group = current_tab.attr('table-group');
+        var pagesize = 25;
+        getConfig().then(function(c) { if (c.page_size) pagesize = c.page_size; });
         $.ajax({
             method:     'GET',
             dataType:   'json',
@@ -144,7 +146,6 @@
             success:    function(json) {
                 var q = $('<table>').attr({'class':'table table-condensed table-striped'}),
                     h = $('<tr>').appendTo($('<thead>').appendTo(q)),
-                    pagesize = 25,
                     max = [];
                 for (var c in json.columns) {
                     h.append($('<th>').append(json.columns[c]));
@@ -158,7 +159,7 @@
                 }
                 for (var i in json.data) {
                     if (i % pagesize === 0)
-                        b = $('<tbody>').attr({'page':i/pagesize+1}).appendTo(q);
+                        b = $('<tbody>').attr({'page':i/pagesize+1}).addClass('hidden').appendTo(q);
                     row = json.data[i];
                     tr = $('<tr>').appendTo(b);
                     for (var j in row) {
@@ -194,30 +195,31 @@
                         $('<td>').attr('colspan','8').append(
                             'No data for this timeframe found'))).appendTo(q);
                 }
+                $('tbody[page=1]', q).removeClass('hidden');
                 $('#table-here').empty().append(q);
 
                 // ----------------------> Pagination <---------------------
                 function goabs(e) {
-                    $('tbody', q).addClass('hide');
+                    $('tbody', q).addClass('hidden');
                     if (e.target) {
                         page = e.target.text;
-                        $('tbody[page='+page+']', q).removeClass('hide');
+                        $('tbody[page='+page+']', q).removeClass('hidden');
                     } else {
-                        e.removeClass('hide');
+                        e.removeClass('hidden');
                         page = e.attr('page')
                     }
-                    enable_next_prev(page);
+                    return enable_next_prev(page);
                 }
                 function goprev() {
-                    current = $('tbody:not(.hide)', q).attr('page');
+                    current = $('tbody:not(.hidden)', q).attr('page');
                     page = Math.max(1, parseInt(current) - 1);
-                    goabs($('tbody[page='+page+']', q));
+                    return goabs($('tbody[page='+page+']', q));
                 }
                 function gonext() {
-                    current = $('tbody:not(.hide)', q).attr('page');
+                    current = $('tbody:not(.hidden)', q).attr('page');
                     page = Math.min(Math.floor(json.data.length / pagesize) + 1,
                         parseInt(current) + 1);
-                    goabs($('tbody[page='+page+']', q));
+                    return goabs($('tbody[page='+page+']', q));
                 }
                 function enable_next_prev(page) {
                     $('#table-here div.pagination li[page]').removeClass('active');
@@ -229,6 +231,7 @@
                     if (page == Math.floor(json.data.length / pagesize) + 1)
                                     $('#report-page-next').addClass('disabled');
                     else            $('#report-page-next').removeClass('disabled');
+                    return false;
                 }
 
                 var p = $('<ul>')
@@ -254,7 +257,7 @@
                     .appendTo($('<li>')
                     .appendTo(p));
 
-                gonext();
+                goprev();
             }
         });
         return false;