diff --git a/i18n_menu/i18n_menu.module b/i18n_menu/i18n_menu.module
index 80f7793..2652964 100644
--- a/i18n_menu/i18n_menu.module
+++ b/i18n_menu/i18n_menu.module
@@ -545,7 +545,7 @@ function i18n_menu_form_menu_edit_item_alter(&$form, &$form_state) {
   $item = &$form['original_item']['#value'];
   $item['language'] = i18n_menu_item_get_language($item);
   // Check whether this item belongs to a node object
-  $node_item = isset($item['router_path']) && $item['router_path'] == 'node/%';
+  $node_item = ($node = i18n_menu_item_get_node($item)) && i18n_menu_node_supported_type($node->type);
   if (!$node_item && i18n_menu_mode($item['menu_name'], I18N_MODE_TRANSLATE)) {
     //$form['i18n'] = array('#type' => 'fieldset');
     $form['i18n']['language'] = array(
@@ -662,8 +662,7 @@ function i18n_menu_item_get_language($item) {
  * to match the translated item's menu settings.
  */
 function i18n_menu_form_node_form_alter(&$form, &$form_state, $form_id) {
-  if (isset($form['menu'])) {
-    $node = $form['#node'];
+  if (isset($form['menu']) && ($node = $form['#node']) && i18n_menu_node_supported_type($node->type)) {
     $link = $form['#node']->menu;
     if (!empty($link['mlid'])) {
       $form['menu']['link']['language'] = array('#type' => 'value', '#value' => $link['language']);
@@ -678,6 +677,25 @@ function i18n_menu_form_node_form_alter(&$form, &$form_state, $form_id) {
 }
 
 /**
+ * Check whether a node type has multilingual support (but not entity translation)
+ */
+function i18n_menu_node_supported_type($type) {
+  $supported = &drupal_static(__FUNCTION__);
+  if (!isset($supported[$type])) {
+    $mode = variable_get('language_content_type_' . $type, 0);
+    $supported[$type] = $mode == 1 || $mode == 2; // 2 == TRANSLATION_ENABLED
+  }
+  return $supported[$type];
+}
+
+/**
+ * Get the node object for a menu item.
+ */
+function i18n_menu_item_get_node($item) {
+  return isset($item['router_path']) && $item['router_path'] == 'node/%' ? node_load(arg(1, $item['link_path'])) : NULL;
+}
+
+/**
  * Implements hook_node_presave()
  *
  * Set menu link language to node language
@@ -685,6 +703,8 @@ function i18n_menu_form_node_form_alter(&$form, &$form_state, $form_id) {
 function i18n_menu_node_presave($node) {
   if (!empty($node->menu) && isset($node->language)) {
     $node->menu['language'] = i18n_object_langcode($node, LANGUAGE_NONE);
+    // Store node type with menu item so we can quickly access it later.
+    $node->menu['options']['node_type'] = $node->type;
   }
 }
 
diff --git a/i18n_node/i18n_node.info b/i18n_node/i18n_node.info
index d410fca..0408054 100644
--- a/i18n_node/i18n_node.info
+++ b/i18n_node/i18n_node.info
@@ -7,3 +7,4 @@ package = Multilingual - Internationalization
 core = 7.x
 configure = admin/config/regional/i18n/node
 files[]=i18n_node.test
+files[]=i18n_node.variable.inc
