diff --git a/themes/default/template.php b/themes/default/template.php
index 903ca4c71c..7625a70daa 100644
--- a/themes/default/template.php
+++ b/themes/default/template.php
@@ -748,17 +748,18 @@ if (!$default_login) {
echo "\n";
}
-
- //determine menu configuration
- $menu = new menu;
- $menu->db = $db;
- $menu->menu_uuid = $_SESSION['domain']['menu']['uuid'];
- $menu_array = $menu->menu_array();
- unset($menu);
-
+ //get the menu array and save it to the session
+ if (!isset($_SESSION['menu']['array'])) {
+ $menu = new menu;
+ $menu->menu_uuid = $_SESSION['domain']['menu']['uuid'];
+ $_SESSION['menu']['array'] = $menu->menu_array();
+ unset($menu);
+ }
+ //get the menu style and position
$menu_style = ($_SESSION['theme']['menu_style']['text'] != '') ? $_SESSION['theme']['menu_style']['text'] : 'fixed';
$menu_position = ($_SESSION['theme']['menu_position']['text'] != '') ? $_SESSION['theme']['menu_position']['text'] : 'top';
+ //show the menu style
switch ($menu_style) {
case 'inline':
$logo_align = ($_SESSION['theme']['logo_align']['text'] != '') ? $_SESSION['theme']['logo_align']['text'] : 'left';
@@ -769,14 +770,14 @@ if (!$default_login) {
echo "";
}
- show_menu($menu_array, $menu_style, $menu_position);
+ show_menu($_SESSION['menu']['array'], $menu_style, $menu_position);
break;
case 'static':
echo "