Index: securepages/securepages.module
===================================================================
--- securepages/securepages.module	(revision 1788)
+++ securepages/securepages.module	(working copy)
@@ -212,9 +212,21 @@
    * secure pages settings
    */
   if (function_exists('menu_get_item')) {
-    $item = menu_get_item(menu_get_active_item());
-    if (isset($item['secure'])) {
-      return $item['secure'];
+    $mid = menu_get_active_item();
+
+    /**
+     * Follow the path up to find the first "secure" attribute.
+     * Like Drupal's _menu_item_is_accessible() function.
+     */
+    $menu = menu_get_menu();
+    $menupath = isset($menu['items'][$mid]['path']) ? $menu['items'][$mid]['path'] : NULL;
+    while ($menupath && (!isset($menu['path index'][$menupath]) || !isset($menu['items'][$menu['path index'][$menupath]]['secure']))) {
+      $menupath = substr($menupath, 0, strrpos($menupath, '/'));
+    }
+    $menuitem = $menu['items'][$menu['path index'][$menupath]];
+
+    if (isset($menuitem['secure'])) {
+      return $menuitem['secure'];
     }
   }