diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 7ad14e8..2f9fd85 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -1672,7 +1672,7 @@ function comment_forms() {
  * @ingroup forms
  */
 function comment_form($form, &$form_state, $comment) {
-  global $user;
+  global $user, $language_content;
 
   // During initial form build, add the comment entity to the form state for
   // use during form building and processing. During a rebuild, use what is in
@@ -1833,11 +1833,22 @@ function comment_form($form, &$form_state, $comment) {
   );
 
   // Add internal comment properties.
-  foreach (array('cid', 'pid', 'nid', 'language', 'uid') as $key) {
+  foreach (array('cid', 'pid', 'nid', 'uid') as $key) {
     $form[$key] = array('#type' => 'value', '#value' => $comment->$key);
   }
   $form['node_type'] = array('#type' => 'value', '#value' => 'comment_node_' . $node->type);
 
+  // If a content type has multilingual support we set the comment to inherit the
+  // content language. Otherwise mark the comment as language neutral.
+  $comment_langcode = $comment->language;
+  if ($comment_langcode == LANGUAGE_NONE && variable_get('language_content_type_' . $node->type, 0)) {
+    $comment_langcode = $language_content->langcode;
+  }
+  $form['language'] = array(
+    '#type' => 'value',
+    '#value' => $comment_langcode,
+  )
+
   // Only show the save button if comment previews are optional or if we are
   // already previewing the submission.
   $form['actions'] = array('#type' => 'actions');
diff --git a/core/modules/locale/locale.module b/core/modules/locale/locale.module
index 6b18988..82e8cd9 100644
--- a/core/modules/locale/locale.module
+++ b/core/modules/locale/locale.module
@@ -1003,18 +1003,6 @@ function locale_url_outbound_alter(&$path, &$options, $original_path) {
 }
 
 /**
- * Implements 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 ($form['language']['#value'] == LANGUAGE_NONE && locale_multilingual_node_type($form['#node']->type)) {
-    global $language_content;
-    $form['language']['#value'] = $language_content->langcode;
-  }
-}
-
-/**
  * Implements hook_form_FORM_ID_alter() for language_admin_overview_form().
  */
 function locale_form_language_admin_overview_form_alter(&$form, &$form_state) {
