diff --git a/simplenews.module b/simplenews.module
index af352e3..b89d460 100644
--- a/simplenews.module
+++ b/simplenews.module
@@ -393,11 +393,12 @@ function simplenews_node_view($node, $view_mode) {
 function simplenews_get_term_values($node) {
   $category_field = simplenews_get_category_field($node->type);
   $taxonomy = $node->{$category_field['field_name']};
-  $term = current($taxonomy);
-  if (!empty($term)) {
-    return $term;
+  if (isset($taxonomy[$node->language])) {
+    return $taxonomy[$node->language];
   }
-  return FALSE;
+
+  $term = current($taxonomy);
+  return ($term)? $term : FALSE;
 }
 
 /**
diff --git a/tests/simplenews.test b/tests/simplenews.test
index 0c9b4db..a96680f 100644
--- a/tests/simplenews.test
+++ b/tests/simplenews.test
@@ -1391,6 +1391,19 @@ class SimpleNewsI18nTestCase extends SimplenewsTestCase {
       // Verify that the link is in the correct language.
       $this->assertTrue(strpos($mail['body'], $node_url) !== FALSE);
     }
+
+    // Make sure the language of a node can be changed.
+    $english = array(
+      'title' => $this->randomName(),
+      'language' => 'en',
+      'body[und][0][value]' => 'Link to node: [node:url]',
+    );
+    $this->drupalPost('node/add/simplenews', $english, ('Save'));
+    $this->clickLink(t('Edit'));
+    $edit = array(
+      'language' => 'es',
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
   }
 
   /**
