Index: modules/translation/translation.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/translation/translation.module,v
retrieving revision 1.91
diff -u -p -r1.91 translation.module
--- modules/translation/translation.module	27 Nov 2010 20:25:44 -0000	1.91
+++ modules/translation/translation.module	13 Feb 2011 12:49:49 -0000
@@ -504,7 +504,7 @@ function translation_path_get_translatio
  */
 function translation_language_switch_links_alter(array &$links, $type, $path) {
   $language_type = variable_get('translation_language_type', LANGUAGE_TYPE_INTERFACE);
-  if ($type == $language_type && preg_match("!^node/(\d+)(/.+|)!", $path, $matches) && ($node = node_load((int) $matches[1]))) {
+  if ($type == $language_type && preg_match("!^node/(\d+)(/.+|)!", $path, $matches) && ($node = node_load((int) $matches[1])) && translation_supported_type($node->type)) {
     $translations = $node->tnid ? translation_node_get_translations($node->tnid) : array($node->language => $node);
 
     foreach ($links as $langcode => $link) {
Index: modules/translation/translation.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/translation/translation.test,v
retrieving revision 1.35
diff -u -p -r1.35 translation.test
--- modules/translation/translation.test	31 Dec 2010 20:45:25 -0000	1.35
+++ modules/translation/translation.test	13 Feb 2011 12:51:08 -0000
@@ -200,6 +200,21 @@ class TranslationTestCase extends Drupal
     $this->assertLanguageSwitchLinks($node, $node, TRUE, $type);
     $this->assertLanguageSwitchLinks($node, $translation_es, TRUE, $type);
     $this->assertLanguageSwitchLinks($node, $translation_it, TRUE, $type);
+
+    // Disable translation support to check that the language switcher is left
+    // untouched.
+    $node = $this->createPage($this->randomName(), $this->randomName(), 'en');
+    $es_node = (object) array('nid' => $node->nid, 'language' => 'es');
+    $it_node = (object) array('nid' => $node->nid, 'language' => 'it');
+
+    $this->drupalLogin($this->admin_user);
+    $edit = array('language_content_type' => 0);
+    $this->drupalPost('admin/structure/types/manage/page', $edit, t('Save content type'));
+    $this->drupalLogin($this->translator);
+
+    $this->assertLanguageSwitchLinks($node, $node, TRUE, $type);
+    $this->assertLanguageSwitchLinks($node, $es_node, TRUE, $type);
+    $this->assertLanguageSwitchLinks($node, $it_node, TRUE, $type);
   }
 
   /**
