Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.800
diff -u -p -r1.800 comment.module
--- modules/comment/comment.module	3 Nov 2009 06:47:22 -0000	1.800
+++ modules/comment/comment.module	5 Nov 2009 15:11:05 -0000
@@ -1648,10 +1648,11 @@ function comment_get_display_page($cid, 
  * @see comment_form_submit()
  */
 function comment_form($form, &$form_state, $comment) {
-  global $user, $language;
+  global $user;
 
   $op = isset($_POST['op']) ? $_POST['op'] : '';
   $node = node_load($comment->nid);
+  $form['#node'] = $node;
 
   if (!$user->uid && variable_get('comment_anonymous_' . $node->type, COMMENT_ANONYMOUS_MAYNOT_CONTACT) != COMMENT_ANONYMOUS_MAYNOT_CONTACT) {
     $form['#attached']['library'][] = array('system', 'cookie');
@@ -1864,7 +1865,7 @@ function comment_form($form, &$form_stat
   );
   $form['language'] = array(
     '#type' => 'value',
-    '#value' => isset($comment->language) ? $comment->language : $language->language,
+    '#value' => isset($comment->language) ? $comment->language : '',
   );
   $form['uid'] = array(
     '#type' => 'value',
Index: modules/locale/locale.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.module,v
retrieving revision 1.267
diff -u -p -r1.267 locale.module
--- modules/locale/locale.module	24 Oct 2009 05:13:44 -0000	1.267
+++ modules/locale/locale.module	5 Nov 2009 15:24:59 -0000
@@ -1105,3 +1105,15 @@ function locale_url_outbound_alter(&$pat
     }
   }
 }
+
+/*
+ * Implement hook_form_FORM_ID_alter().
+ */
+function locale_form_comment_form_alter(&$form, &$form_state, $form_id) {
+  // If a content type has multilingual support we set the content language as
+  // comment language.
+  if (locale_multilingual_node_type($form['#node']->type)) {
+    global $language;
+    $form['language']['#value'] = empty($form['language']['#value']) ? $language->language : $form['language']['#value'];
+  }
+}
