diff --git a/og_menu.module b/og_menu.module
index bb7bcda..204e26e 100644
--- a/og_menu.module
+++ b/og_menu.module
@@ -212,7 +212,7 @@ function og_menu_block_view($delta = '') {
  */
 function og_menu_get_context() {
   $context = og_context();
-  return (isset($context->etid) ? $context->etid : 0);
+  return (isset($context->gid) ? $context->gid : 0);
 }
 
 /**
@@ -223,8 +223,8 @@ function og_menu_form_alter(&$form, $form_state, $form_id) {
   if (isset($form['#node']) && $form['#node']->type .'_node_form' == $form_id && og_is_group_content_type('node', $form['#node']->type)) {
     // Only alter the form if user does not have the administer menu permission
     if (!user_access('administer menu') && user_access('administer og menu')) {
+    
       $groups = array();
-
       // If the user has access to more than one group, we take the options
       // out of the OG audience form element.
       if (!empty($form['og_nodeapi']['visible']['og_groups']['#options'])) {
@@ -313,7 +313,7 @@ function og_menu_form_alter(&$form, $form_state, $form_id) {
           '#title' => t('Enable this menu for the following group'),
           '#type' => 'select',
           '#options' => $options,
-          '#default_value' => $value->gid,
+          '#default_value' => $value != NULL ? $value->gid : '',
           '#weight' => 1,
         );
         if (!user_access('administer menu')) {
@@ -345,9 +345,10 @@ function  og_menu_node_prepare($node) {
  */
 function  og_menu_node_insert($node) {
   if (og_is_group_type('node', $node->type)) {
+		$og = og_get_group('node', $node->nid, FALSE, array(OG_STATE_ACTIVE, OG_STATE_PENDING));
     if ($node->og_menu) {
-      db_query("INSERT INTO {menu_custom} (menu_name, title, description) VALUES (:mname, :mtitle, :mdesc)", array(':mname' => 'menu-og-'. $node->nid, ':mtitle' => $node->title, ':mdesc' => t('Menu for') .' '. check_plain($node->title)));
-      og_menu_update_menu('menu-og-'. $node->nid, $node->nid);
+      db_query("INSERT INTO {menu_custom} (menu_name, title, description) VALUES (:mname, :mtitle, :mdesc)", array(':mname' => 'menu-og-'. $og->gid, ':mtitle' => $node->title, ':mdesc' => t('OG Menu for') .' '. check_plain($node->title)));
+      og_menu_update_menu('menu-og-'. $og->gid, $og->gid);
     }
   }
 }
@@ -357,16 +358,17 @@ function  og_menu_node_insert($node) {
  */
 function  og_menu_node_update($node) {
   if (og_is_group_type('node', $node->type)) {
+  	$og = og_get_group('node', $node->nid, FALSE, array(OG_STATE_ACTIVE, OG_STATE_PENDING));
     if ($node->og_menu) {
       $menu = og_menu_get_menus(array($node->nid));
       if (empty($menu)) {
-        db_query("INSERT INTO {menu_custom} (menu_name, title, description) VALUES (:mname, :mtitle, :mdesc)", array(':mname' => 'menu-og-'. $node->nid, ':mtitle' => $node->title, ':mdesc' => t('Menu for') .' '. check_plain($node->title)));
-        og_menu_update_menu('menu-og-'. $node->nid, $node->nid);
+        db_query("INSERT INTO {menu_custom} (menu_name, title, description) VALUES (:mname, :mtitle, :mdesc)", array(':mname' => 'menu-og-'. $og->gid, ':mtitle' => $node->title, ':mdesc' => t('OG Menu for') .' '. check_plain($node->title)));
+        og_menu_update_menu('menu-og-'. $og->gid, $og->gid);
       }
     }
     else {
-      db_query("DELETE FROM {menu_custom} WHERE menu_name = :mname", array(':mname' => 'menu-og-'. $node->nid));
-      og_menu_update_menu('menu-og-'. $node->nid);
+      db_query("DELETE FROM {menu_custom} WHERE menu_name = :mname", array(':mname' => 'menu-og-'. $og->gid));
+      og_menu_update_menu('menu-og-'. $og->gid);
     }
   }
 }
@@ -376,8 +378,9 @@ function  og_menu_node_update($node) {
  */
 function  og_menu_node_delete($node) {
   if (og_is_group_type('node', $node->type)) {
-    db_query("DELETE FROM {menu_custom} WHERE menu_name = :mname", array(':mname' => 'menu-og-'. $node->nid));
-        og_menu_update_menu('menu-og-'. $node->nid);
+  	$og = og_get_group('node', $node->nid, FALSE, array(OG_STATE_ACTIVE, OG_STATE_PENDING));
+    db_query("DELETE FROM {menu_custom} WHERE menu_name = :mname", array(':mname' => 'menu-og-'. $og->gid));
+        og_menu_update_menu('menu-og-'. $og->gid);
   }
 }
 
@@ -441,7 +444,7 @@ function og_menu_get_menus($gids = NULL, $user = NULL) {
   if (!$gids) {
     $nodegroups = og_load_multiple(og_get_entity_groups('user', $user));
     foreach($nodegroups as $ng)
-      $gids[] = $ng->etid;
+      $gids[] = $ng->gid;
   }
   $menus = array();
   if ($gids) {
@@ -455,7 +458,7 @@ function og_menu_get_menus($gids = NULL, $user = NULL) {
                          LEFT JOIN {menu_custom} m ON om.menu_name = m.menu_name
                         WHERE om.gid IN (:gids)
                         ORDER BY mtitle", array(':gids' => $gids));
-
+                        
     foreach ($result as $menu) {
       $menus[] = $menu;
     }
@@ -515,12 +518,12 @@ function og_menu_redirect($form, &$form_state) {
  */
 function og_menu_edit_menu_form_submit($form, &$form_state) {
   $menu_name = $form_state['values']['menu_name'];
-  $gid = $form_state['values']['og_menu_gid'];
+  $og = og_context();
   // Add 'menu-' if this is a new menu
   if (strpos($menu_name, 'menu-') === FALSE) {
     $menu_name = 'menu-'. $menu_name;
   }
-  og_menu_update_menu($menu_name, $gid);
+  og_menu_update_menu($menu_name, $og->gid);
 }
 
 /**
diff --git a/og_menu.pages.inc b/og_menu.pages.inc
index 3371cd8..8a0d87e 100644
--- a/og_menu.pages.inc
+++ b/og_menu.pages.inc
@@ -9,16 +9,16 @@
  * Menu callback which shows an overview page of all the custom menus in user's groups and their descriptions.
  */
 function og_menu_overview_page($node) {
+	$og = og_get_group('node', $node->nid, FALSE, array(OG_STATE_ACTIVE, OG_STATE_PENDING));
   $result = db_query("
     SELECT om.gid, om.menu_name as omname, m.menu_name as mname, m.title as mtitle FROM {og_menu} om
     LEFT JOIN {menu_custom} m
     ON om.menu_name = m.menu_name
     WHERE om.gid = :gid
-    ORDER BY mtitle", array(':gid' => $node->nid));
+    ORDER BY mtitle", array(':gid' => $og->gid));
 
   $content = array();
   foreach ($result as $menuobj) {
-
     $menu['href'] = 'node/'. $node->nid .'/og_menu/'. $menuobj->omname;
     $menu['localized_options'] = array();
     $menu['title'] = $menuobj->mtitle;
