diff --git a/includes/expire.menu_link.inc b/includes/expire.menu_link.inc
index d534452..8d1c265 100644
--- a/includes/expire.menu_link.inc
+++ b/includes/expire.menu_link.inc
@@ -32,16 +32,43 @@ class ExpireMenuLink implements ExpireInterface {
       return;
     }
 
-    // Ensure that current menu item level is not higher than required.
-    $depth = $settings[$menu_link['menu_name']];
-    if (!empty($menu_link['depth']) && $menu_link['depth'] > $depth) {
-      return;
-    }
 
-    // Collect menu items' urls.
-    $expire_urls = array();
-    if ($links =  _menu_build_tree($menu_link['menu_name'], array('max_depth' =>  $depth))) {
-      $expire_urls = $this->get_urls_from_menu_tree($links['tree']);
+    if ($menu_link['plid'] == 0) {
+      // Ensure that current menu item level is not higher than required.
+      $depth = $settings[$menu_link['menu_name']];
+      if (!empty($menu_link['depth']) && $menu_link['depth'] > $depth) {
+        return;
+      }
+      // Collect menu items' urls.
+      $expire_urls = array();
+      if ($links =  _menu_build_tree($menu_link['menu_name'], array('max_depth' =>  $depth))) {
+        $expire_urls = $this->get_urls_from_menu_tree($links['tree']);
+      }
+    }
+    else {
+      // Get the children of the current menu item.
+      $parameters = array(
+        'expanded' => array($menu_link['mlid']),
+        'min_depth' => $menu_link['depth']+1,
+        'max_depth' => $menu_link['depth']+1,
+      );
+      $children_tree = _menu_build_tree($menu_link['menu_name'], $parameters);
+      // Get the siblings of the current menu item.
+      $parameters = array(
+        'expanded' => array($menu_link['plid']),
+        'min_depth' => $menu_link['depth'],
+        'max_depth' => $menu_link['depth'],
+      );
+      $siblings_tree = _menu_build_tree($menu_link['menu_name'], $parameters);
+      // Get the parent menu item.
+      $parameters = array(
+        'active_trail' => array($menu_link['plid']),
+        'only_active_trail' => TRUE,
+      );
+      $parent = _menu_build_tree($menu_link['menu_name'], $parameters);
+      $expire_urls = array_merge($this->get_urls_from_menu_tree($parent['tree']),
+                                 $this->get_urls_from_menu_tree($siblings_tree['tree']),
+                                 $this->get_urls_from_menu_tree($children_tree['tree']));
     }
 
     // Flush page cache for expired urls.
