diff --git a/superfish.module b/superfish.module
index bad0ec9..e616afe 100644
--- a/superfish.module
+++ b/superfish.module
@@ -770,39 +770,33 @@ function theme_superfish($variables) {
 
   $cache_key = 'links:' . $menu_name . ':all-cid:' . $variables['mlid'] . ':' . $user->uid . ':' . $language->language;
   $cache = cache_get($cache_key, 'cache_menu');
-  if ($cache && isset($cache->data)) {
-    $cache = $cache->data;
-  }
-  else {
-    // Start caching the menu.
-    $cache = array();
-    $cache['menu'] = menu_tree_all_data($menu_name);
+  $cache = array();
+  $cache['menu'] = menu_tree_all_data($menu_name);
 
-    // For custom $menus and menus built all the way from the top-level we
-    // don't need to "create" the specific sub-menu and we need to get the title
-    // from the $menu_name since there is no "parent item" array.
-    // Create the specific menu if we have a mlid.
-    if (!empty($mlid)) {
-      // Load the parent menu item.
-      $item = menu_link_load($mlid);
-      $cache['title'] = check_plain($item['title']);
-      $cache['parent_depth'] = $item['depth'];
-      // Narrow down the full menu to the specific sub-tree we need.
-      for ($p = 1; $p < 10; $p++) {
-        if ($sub_mlid = $item["p$p"]) {
-          $subitem = menu_link_load($sub_mlid);
-          $key = (50000 + $subitem['weight']) . ' ' . $subitem['title'] . ' ' . $subitem['mlid'];
-          $cache['menu'] = (isset($cache['menu'][$key]['below'])) ? $cache['menu'][$key]['below'] : $cache['menu'];
-        }
+  // For custom $menus and menus built all the way from the top-level we
+  // don't need to "create" the specific sub-menu and we need to get the title
+  // from the $menu_name since there is no "parent item" array.
+  // Create the specific menu if we have a mlid.
+  if (!empty($mlid)) {
+    // Load the parent menu item.
+    $item = menu_link_load($mlid);
+    $cache['title'] = check_plain($item['title']);
+    $cache['parent_depth'] = $item['depth'];
+    // Narrow down the full menu to the specific sub-tree we need.
+    for ($p = 1; $p < 10; $p++) {
+      if ($sub_mlid = $item["p$p"]) {
+        $subitem = menu_link_load($sub_mlid);
+        $key = (50000 + $subitem['weight']) . ' ' . $subitem['title'] . ' ' . $subitem['mlid'];
+        $cache['menu'] = (isset($cache['menu'][$key]['below'])) ? $cache['menu'][$key]['below'] : $cache['menu'];
       }
     }
-    else {
-      $result = db_query("SELECT title FROM {menu_custom} WHERE menu_name = :a", array(':a' => $menu_name))->fetchField();
-      $cache['title'] = check_plain($result);
-    }
-    cache_set($cache_key, $cache, 'cache_menu');
-    $cache = cache_get($cache_key, 'cache_menu')->data;
   }
+  else {
+    $result = db_query("SELECT title FROM {menu_custom} WHERE menu_name = :a", array(':a' => $menu_name))->fetchField();
+    $cache['title'] = check_plain($result);
+  }
+  cache_set($cache_key, $cache, 'cache_menu');
+  $cache = cache_get($cache_key, 'cache_menu')->data;
 
   $output['content'] = '';
   $output['subject'] = $cache['title'];
