diff --git a/includes/simplenews.admin.inc b/includes/simplenews.admin.inc
index 394abaf..0bcb617 100644
--- a/includes/simplenews.admin.inc
+++ b/includes/simplenews.admin.inc
@@ -718,7 +718,7 @@ function simplenews_subscription_list_add($form, &$form_state) {
     '#tree' => TRUE,
    );
 
-  foreach (simplenews_get_mailing_lists(TRUE) as $list) {
+  foreach (simplenews_categories_load_multiple() as $list) {
     $form['newsletters'][$list->tid] = array(
       '#type' => 'checkbox',
       '#title' => check_plain(_simplenews_newsletter_name($list)),
@@ -842,8 +842,11 @@ function simplenews_subscription_list_export($form, &$form_state) {
     '#required' => TRUE,
   );
 
-  $options = simplenews_category_list();
-  $form['newsletters'] = array(
+  $lists = array();
+  foreach (simplenews_categories_load_multiple() as $list) {
+    $lists[$list->tid] = check_plain(_simplenews_newsletter_name($list));
+  }
+  $form['lists'] = array(
     '#type' => 'checkboxes',
     '#title' => t('Newsletter'),
     '#options' => $options,
@@ -951,11 +954,11 @@ function simplenews_subscription_list_remove($form, &$form_state) {
     '#tree' => TRUE,
   );
 
-  foreach (simplenews_get_mailing_lists(TRUE) as $list) {
-    $form['newsletters'][$list->tid] = array(
+  foreach (simplenews_categories_load_multiple() as $category) {
+    $form['lists'][$category->tid] = array(
       '#type' => 'checkbox',
-      '#title' => check_plain(_simplenews_newsletter_name($list)),
-      '#description'  => _simplenews_newsletter_description($list),
+      '#title' => check_plain(_simplenews_newsletter_name($category)),
+      '#description'  => _simplenews_newsletter_description($category),
     );
   }
 
@@ -991,7 +994,7 @@ function simplenews_subscription_list_remove_submit($form, &$form_state) {
     $removed = implode(", ", $removed);
     drupal_set_message(t('The following addresses were unsubscribed: %removed.', array('%removed' => $removed)));
 
-    $lists = simplenews_get_mailing_lists(TRUE);
+    $lists = simplenews_categories_load_multiple();
     $list_names = array();
     foreach ($checked_lists as $tid) {
       $list_names[] = _simplenews_newsletter_name($lists[$tid]);
@@ -1466,7 +1469,7 @@ function simplenews_subscription_filters() {
       'all'   => t('All newsletters'),
     ),
   );
-  foreach (simplenews_get_mailing_lists(TRUE) as $list) {
+  foreach (simplenews_categories_load_multiple() as $list) {
     $filters['list']['options']['tid-' . $list->tid] = _simplenews_newsletter_name($list);
   }
 
diff --git a/includes/simplenews.subscription.inc b/includes/simplenews.subscription.inc
index 9a3222a..5d19134 100644
--- a/includes/simplenews.subscription.inc
+++ b/includes/simplenews.subscription.inc
@@ -55,7 +55,7 @@ function simplenews_subscriptions_account_form(&$form, &$form_state, $subscriber
 
   // Get newsletters for subscription form checkboxes.
   // Newsletters with opt-in/out method 'hidden' will not be listed.
-  foreach (simplenews_get_mailing_lists() as $newsletter) {
+  foreach (simplenews_get_visible_categories() as $newsletter) {
     $options[$newsletter->tid] = check_plain(_simplenews_newsletter_name($newsletter));
     $default_value[$newsletter->tid] = FALSE;
   }
@@ -215,7 +215,7 @@ function simplenews_subscriptions_page_form($form, &$form_state) {
 
   // Get newsletters for subscription form checkboxes.
   // Newsletters with opt-in/out method 'hidden' will not be listed.
-  foreach (simplenews_get_mailing_lists() as $newsletter) {
+  foreach (simplenews_get_visible_categories() as $newsletter) {
     $options[$newsletter->tid] = check_plain($newsletter->name);
     $default_value[$newsletter->tid] = FALSE;
   }
@@ -374,7 +374,7 @@ function simplenews_subscriptions_multi_block_form($form, &$form_state) {
 
   // Get newsletters for subscription form checkboxes.
   // Newsletters with opt-in/out method 'hidden' will not be listed.
-  foreach (simplenews_get_mailing_lists() as $newsletter) {
+  foreach (simplenews_get_visible_categories() as $newsletter) {
     $options[$newsletter->tid] = check_plain($newsletter->name);
     $default_value[$newsletter->tid] = FALSE;
   }
@@ -610,7 +610,7 @@ function simplenews_subscriptions_admin_form($form, &$form_state, $snid) {
 
   // Get newsletters for subscription form checkboxes.
   // Newsletters with opt-in/out method 'hidden' will not be listed.
-  foreach (simplenews_get_mailing_lists() as $newsletter) {
+  foreach (simplenews_get_visible_categories() as $newsletter) {
     $options[$newsletter->tid] = check_plain($newsletter->name);
     $default_value[$newsletter->tid] = FALSE;
   }
diff --git a/simplenews.module b/simplenews.module
index 8bd0682..59d3e61 100644
--- a/simplenews.module
+++ b/simplenews.module
@@ -837,7 +837,7 @@ function simplenews_form_user_register_form_alter(&$form, &$form_state) {
   // Determine the lists to which a user can choose to subscribe.
   // Determine to which other list a user is automatically subscribed.
 
-  foreach (simplenews_get_mailing_lists(TRUE) as $list) {
+  foreach (simplenews_categories_load_multiple() as $list) {
     $subscribe_new_account = $list->new_account;
     $opt_inout_method = $list->opt_inout;
     if (($subscribe_new_account == 'on' || $subscribe_new_account == 'off') && ($opt_inout_method == 'single' || $opt_inout_method == 'double')) {
@@ -1037,7 +1037,7 @@ function simplenews_user_view($account, $build_mode) {
     );
     // Collect newsletter to which the current user is subscribed.
     // 'hidden' newsletters are not listed.
-    $newsletters = simplenews_get_mailing_lists();
+    $newsletters = simplenews_get_visible_categories();
     $subscription = simplenews_subscriber_load_by_mail($account->mail);
 
     foreach ($newsletters as $newsletter) {
@@ -1880,23 +1880,19 @@ function simplenews_category_delete($category) {
 }
 
 /**
- * Fetch all newsletter mailing lists.
+ * Loads all visible newsletter categories.
  *
- * @param $show_all
- *   FALSE = Don't show mailing lists which are marked 'hidden'.
- *   TRUE  = Show all mailing lists.
+ * Does not include categories with the opt-out/opt-in setting set to hidden.
  *
  * @ingroup newsletter
  */
-function simplenews_get_mailing_lists($show_all = FALSE) {
-  $lists = &drupal_static(__FUNCTION__, array());
-  $all = $show_all ? 'all' : 'not_all';
+function simplenews_get_visible_categories() {
+  $categories = &drupal_static(__FUNCTION__, NULL);
 
-  if (!isset($lists[$all])) {
-    $categories = simplenews_categories_load_multiple(array(), array('show_all' => $show_all));
-    $lists[$all] = $categories;
+  if (!isset($categories)) {
+    $categories = simplenews_categories_load_multiple(array(), array('show_all' => FALSE));
   }
-  return $lists[$all];
+  return $categories;
 }
 
 /**
