diff -u b/admin_menu.js admin_menu/admin_menu.js
--- b/admin_menu.js
+++ admin_menu/admin_menu.js	2015-07-26 13:30:39.756637584 +0300
@@ -123,7 +123,7 @@
   }
   $.ajax({
     cache: true,
-    type: 'GET',
+    type: 'POST',
     dataType: 'text', // Prevent auto-evaluation of response.
     global: false, // Do not trigger global AJAX events.
     url: Drupal.settings.admin_menu.basePath.replace(/admin_menu/, 'js/admin_menu/cache/' + hash),
diff -u b/admin_menu.module admin_menu/admin_menu.module
--- b/admin_menu.module
+++ admin_menu/admin_menu.module	2015-07-26 13:32:11.546193261 +0300
@@ -322,7 +322,7 @@
       'delivery callback' => 'admin_menu_deliver',
       'dependencies' => $dependencies,
       'includes' => array('common', 'theme', 'unicode'),
-      'methods' => array('GET'),
+      'methods' => array('POST'),
     ),
   );
 }
@@ -583,6 +583,10 @@
 
   // Rebuild the output.
   if (!isset($content)) {
+    // Note: 'admin_menu' uses theme() function to render own links through 'theme_admin_menu_links()'
+    // and icon through 'theme_admin_menu_icon()'. It requires to use 'DRUPAL_BOOTSTRAP_FULL'.
+    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
+
     // Retrieve enabled components to display and make them available for others.
     $components = variable_get('admin_menu_components', array());
     $components += array(
