Index: sites/all/modules/i18n/i18n_node/i18n_node.pages.inc
===================================================================
--- sites/all/modules/i18n/i18n_node/i18n_node.pages.inc	(revision 46)
+++ sites/all/modules/i18n/i18n_node/i18n_node.pages.inc	(working copy)
@@ -89,7 +89,16 @@
         $path = 'node/add/' . str_replace('_', '-', $node->type);
         $links = language_negotiation_get_switch_links($type, $path);
         $query = array('query' => array('translation' => $node->nid, 'target' => $langcode));
-        $options[] = empty($links->links[$langcode]) ? l($text, $path, $query) : l($text, $links->links[$langcode]['href'], array_merge_recursive($links->links[$langcode], $query));
+        if (empty($links->links[$langcode])){
+        	$options[] = l($text, $path, $query); 
+        }else{
+        	//if Switch interface for translating is ON
+        	if(variable_get('i18n_translation_switch',0)){
+        		$options[] = l($text, $links->links[$langcode]['href'], array_merge_recursive($links->links[$langcode], $query));
+        	}else{
+        		$options[] = l($text, $links->links[$langcode]['href'],  $query);
+        	}
+        }
       }
       $status = t('Not translated');
     }
