diff --git a/mappers/field.inc b/mappers/field.inc
index 43d62c4bd852918557373c8aeed9b28caaeb0cc4..7a5a4b3dfcb4190e47c97d8816efad496f303ed6 100644
--- a/mappers/field.inc
+++ b/mappers/field.inc
@@ -110,6 +110,9 @@ function _field_feeds_set_target($source, $entity, $target, $value, $input_forma
   $i = 0;
   $field = isset($entity->$target) ? $entity->$target : array();
   foreach ($value as $v) {
+    if (is_object($v) && ($v instanceof FeedsElement)) {
+      $v = $v->getValue();
+    }
     if (!is_array($v) && !is_object($v)) {
       $field['und'][$i]['value'] = $v;
     }
diff --git a/mappers/link.inc b/mappers/link.inc
index 029b795dd0de593392a26ccb6aa554f5f5c307a7..28aa59a7909427ca5897422851dfc6cae918f950 100644
--- a/mappers/link.inc
+++ b/mappers/link.inc
@@ -54,6 +54,9 @@ function link_feeds_set_target($source, $entity, $target, $value) {
   $info = field_info_field($target);
   list($field_name, $sub_field) = explode(':', $target);
   foreach ($value as $v) {
+    if (is_object($v) && ($v instanceof FeedsElement)) {
+      $v = $v->getValue();
+    }
     if (!is_array($v) && !is_object($v)) {
       if (strstr($target, 'url')) {
         if (isset($entity->{$field_name}['und'][$i]['title'])) {