diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 3c94200..3ecf5cf 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -1163,7 +1163,7 @@ function comment_form_node_type_form_alter(&$form, $form_state) {
       '#type' => 'select',
       '#title' => t('Comments per page'),
       '#default_value' => variable_get('comment_default_per_page_' . $form['#node_type']->type, 50),
-      '#options' => _comment_per_page(),
+      '#options' => _comment_per_page(variable_get('comment_default_per_page_' . $form['#node_type']->type, 50)),
     );
     $form['comment']['comment_anonymous'] = array(
       '#type' => 'select',
@@ -2424,9 +2424,21 @@ function _comment_get_modes() {
 /**
  * Return an array of "comments per page" settings from which the user
  * can choose.
+ *
+ * @param $ensure_present
+ *   A specific number of comments per page to include in the returned array.
  */
-function _comment_per_page() {
-  return drupal_map_assoc(array(10, 30, 50, 70, 90, 150, 200, 250, 300));
+function _comment_per_page($ensure_present = 50) {
+  $options = array(10, 30, 50, 70, 90, 150, 200, 250, 300);
+  // Enforce validation the additional option to be: numeric, between 10 - 1000
+  // and a multiple of 10.
+  if (is_numeric($ensure_present) && $ensure_present >= 10 && $ensure_present <= 1000 && ($ensure_present % 10 === 0)) {
+    if (!in_array($ensure_present, $options)) {
+      $options[] = $ensure_present;
+    }
+  }
+  sort($options);
+  return drupal_map_assoc($options);
 }
 
 /**
