diff --git a/plugins/FeedsNodeProcessor.inc b/plugins/FeedsNodeProcessor.inc
index bea7921..4f5f142 100644
--- a/plugins/FeedsNodeProcessor.inc
+++ b/plugins/FeedsNodeProcessor.inc
@@ -59,6 +59,14 @@ class FeedsNodeProcessor extends FeedsProcessor {
             }
           }
           node_save($node);
+          // Update tnid of translation source node, if applicable
+          if($node->tnid > 0) {
+            $translate_source = node_load($node->tnid);
+            if($translate_source->tnid == 0) {
+              $translate_source->tnid = $node->tnid;
+              node_save($translate_source);
+            }
+          }
           if (!empty($nid)) {
             $batch->updated++;
           }
@@ -259,7 +267,7 @@ class FeedsNodeProcessor extends FeedsProcessor {
       $target_node->teaser = node_teaser($value);
       $target_node->body = $value;
     }
-    elseif (in_array($target_element, array('title', 'status', 'created', 'nid', 'uid'))) {
+    elseif (in_array($target_element, array('title', 'status', 'created', 'nid', 'tnid', 'uid'))) {
       $target_node->$target_element = $value;
     }
   }
@@ -312,7 +320,13 @@ class FeedsNodeProcessor extends FeedsProcessor {
         'optional_unique' => TRUE,
       ),
     );
-
+    if (module_exists('translation')) {
+      $targets['tnid'] = array(
+        'name' => t('tnid (Translated node id)'),
+        'description' => t('The tnid of the node. NOTE: use this feature with care, node ids are usually assigned by Drupal.'),
+      );
+    }
+      
     // Let other modules expose mapping targets.
     self::loadMappers();
     drupal_alter('feeds_node_processor_targets', $targets, $this->config['content_type']);
diff --git a/plugins/FeedsParser.inc b/plugins/FeedsParser.inc
index 43a6a65..1b47963 100644
--- a/plugins/FeedsParser.inc
+++ b/plugins/FeedsParser.inc
@@ -56,6 +56,12 @@ abstract class FeedsParser extends FeedsPlugin {
       'name' => t('Feed node: User ID'),
       'description' => t('The feed node author uid.'),
     );
+    if (module_exists('translation')) {
+      $sources['parent:tnid'] = array(
+        'name' => t('Feed node: Translated Node ID'),
+        'description' => t('The feed node tnid.'),
+      );
+    }
     return $sources;
   }
 
diff --git a/plugins/FeedsProcessor.inc b/plugins/FeedsProcessor.inc
index 3154def..f24538f 100644
--- a/plugins/FeedsProcessor.inc
+++ b/plugins/FeedsProcessor.inc
@@ -186,7 +186,41 @@ abstract class FeedsProcessor extends FeedsPlugin {
    *   FALSE otherwise.
    */
   public function getMappingTargets() {
-    return array();
+    if (module_exists('translation')) {
+    // Content Translation is enabled, therefore require tnid
+     return array(
+        'url' => array(
+          'name' => t('URL'),
+          'description' => t('The external URL of the item. E. g. the feed item URL in the case of a syndication feed. May be unique.'),
+          'optional_unique' => TRUE,
+        ),
+        'guid' => array(
+          'name' => t('GUID'),
+          'description' => t('The globally unique identifier of the item. E. g. the feed item GUID in the case of a syndication feed. May be unique.'),
+          'optional_unique' => TRUE,
+        ),
+        'tnid' => array(
+          'name' => t('TNID'),
+          'description' => t('The TNID, translated node id, aka the node id that this node was translated from.'),
+          'optional_unique' => FALSE,
+        )
+      );
+    }
+    // Content Translation is not enabled, therefore no tnid is needed
+    else {
+    return array(
+        'url' => array(
+          'name' => t('URL'),
+          'description' => t('The external URL of the item. E. g. the feed item URL in the case of a syndication feed. May be unique.'),
+          'optional_unique' => TRUE,
+        ),
+        'guid' => array(
+          'name' => t('GUID'),
+          'description' => t('The globally unique identifier of the item. E. g. the feed item GUID in the case of a syndication feed. May be unique.'),
+          'optional_unique' => TRUE,
+        )
+      );
+    }
   }
 
   /**
