Index: program/steps/settings/save_prefs.inc
===================================================================
--- program/steps/settings/save_prefs.inc	(revision 5879c09ca046c483d4102f1dd21babfac1cd8057)
+++ program/steps/settings/save_prefs.inc	(revision c1d27d867935dd682eef01d20f3cb8c07e184c3b)
@@ -150,15 +150,4 @@
       $OUTPUT->command('reload', 500);
 
-    // force min size
-    if ($a_user_prefs['mail_pagesize'] < 1)
-      $a_user_prefs['mail_pagesize'] = 10;
-    if ($a_user_prefs['addressbook_pagesize'] < 1)
-      $a_user_prefs['addressbook_pagesize'] = 10;
-
-    if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['mail_pagesize'] > $CONFIG['max_pagesize']))
-      $a_user_prefs['mail_pagesize'] = (int) $CONFIG['max_pagesize'];
-    if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['addressbook_pagesize'] > $CONFIG['max_pagesize']))
-      $a_user_prefs['addressbook_pagesize'] = (int) $CONFIG['max_pagesize'];
-
     $a_user_prefs['timezone'] = (string) $a_user_prefs['timezone'];
 
@@ -172,4 +161,21 @@
         $a_user_prefs['keep_alive'] = min($CONFIG['session_lifetime']*60, $a_user_prefs['keep_alive']);
     }
+
+    // force min size
+    if ($a_user_prefs['mail_pagesize'] < 1)
+      $a_user_prefs['mail_pagesize'] = 10;
+
+    if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['mail_pagesize'] > $CONFIG['max_pagesize']))
+      $a_user_prefs['mail_pagesize'] = (int) $CONFIG['max_pagesize'];
+
+  break;
+  case 'addressbook':
+
+    // force min size
+    if ($a_user_prefs['addressbook_pagesize'] < 1)
+      $a_user_prefs['addressbook_pagesize'] = 10;
+
+    if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['addressbook_pagesize'] > $CONFIG['max_pagesize']))
+      $a_user_prefs['addressbook_pagesize'] = (int) $CONFIG['max_pagesize'];
 
   break;
