diff --git a/sites/all/modules/unl/unl.module b/sites/all/modules/unl/unl.module
index f1e0b4d78a1620fc72cc151aabb9fa37e70ce16b..7da6e8c6ce7b486d234861fa9025bccadde831d6 100644
--- a/sites/all/modules/unl/unl.module
+++ b/sites/all/modules/unl/unl.module
@@ -212,6 +212,66 @@ function unl_form_alter(&$form, $form_state, $form_id) {
       }
     }
   }
+  
+  /**
+   * On the node edit form, hide the "Provide a menu link" checkbox since we'll
+   * be using the menu to build a site hierarchy.  Instead, add a button that will
+   * determine whether or not the menu link is visible or not.
+   */ 
+  if ($form_id == 'page_node_form') {
+    $form['menu']['#title'] = 'Site hierachy';
+    
+    $form['menu']['enabled']['#default_value'] = TRUE;
+    $form['menu']['enabled']['#prefix'] = '<div style="display: none;">';
+    $form['menu']['enabled']['#suffix'] = '</div>';
+    
+    $form['menu']['link']['link_title']['#required'] = TRUE;
+    
+  
+    $mlid = $form['menu']['link']['mlid']['#value'];
+    if ($mlid) {
+      $menu_link = menu_link_load($mlid);
+      $default_visible = ($menu_link['hidden'] ? 0 : 1);
+    }
+    else {
+      $default_visible = 0;
+    }
+    $form['menu']['visible'] = array(
+      '#type' => 'checkbox',
+      '#title' => 'Display in menu',
+      '#default_value' => $default_visible,
+      '#weight' => 0,
+    );
+    
+    $form['actions']['submit']['#submit'][] = 'unl_node_form_submit';
+  }
+}
+
+/**
+ * When a node is modified, update its menu link to be hidden or not based on the user input.
+ */
+function unl_node_form_submit($form, &$form_state) {
+  $menu_data = $form_state['values']['menu'];
+
+  if ($menu_data['mlid']) {
+    $menu_link = menu_link_load($menu_data['mlid']);
+  }
+  else {
+    list($parent_menu_name, $parent_mlid) = explode(':', $menu_data['parent']);
+    $menu_links = menu_load_links($parent_menu_name);
+    foreach ($menu_links as $menu_link) {
+      if ($menu_link['plid'] != $parent_mlid) {
+        continue;
+      }
+      if ($menu_link['link_path'] != 'node/' . $form_state['values']['nid']) {
+        continue;
+      }
+      break;
+    }
+  }
+  
+  $menu_link['hidden'] = $menu_data['visible'] ? 0 : 1;
+  menu_link_save($menu_link);
 }
 
 function unl_system_settings_form_submit($form, &$form_state) {
@@ -221,10 +281,10 @@ function unl_system_settings_form_submit($form, &$form_state) {
 function unl_theme() {
   return array(
     'unl_site_list_table' => array(
-      'render element' => 'form'
+      'render element' => 'form',
     ),
     'unl_alias_list_table' => array(
-      'render element' => 'form'
+      'render element' => 'form',
     ),
   );
 }