diff --git a/includes/simplenews.admin.inc b/includes/simplenews.admin.inc
index 394abaf..1af20b7 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)),
@@ -951,11 +951,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['newsletters'][$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 +991,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 +1466,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..21867e1 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_category_get_visible() 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_category_get_visible() 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_category_get_visible() 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_category_get_visible() as $newsletter) {
     $options[$newsletter->tid] = check_plain($newsletter->name);
     $default_value[$newsletter->tid] = FALSE;
   }
diff --git a/simplenews.module b/simplenews.module
index 8bd0682..49951de 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_category_get_visible();
     $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_category_get_visible() {
+  $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;
 }
 
 /**
