diff --git a/feeds.module b/feeds.module
index 908b2f80d13363ff3326f37200d155185988d275..9d9f6ed6d8f0d5785670f66135db3c4e89d07048 100644
--- a/feeds.module
+++ b/feeds.module
@@ -1255,6 +1255,12 @@ function feeds_entity_property_info_alter(&$info) {
       'description' => t('Nid of the Feed Node that imported this entity.'),
       'getter callback' => 'feeds_get_feed_nid_entity_callback',
     );
+    $info[$entity_type]['properties']['feed_node'] = array(
+      'label' => 'Feed node',
+      'type' => 'node',
+      'description' => t('Feed Node that imported this entity.'),
+      'getter callback' => 'feeds_get_feed_nid_entity_callback',
+    );
   }
 }
 
@@ -1264,10 +1270,17 @@ function feeds_entity_property_info_alter(&$info) {
 function feeds_get_feed_nid_entity_callback($entity, array $options, $name, $entity_type) {
   list($entity_id, , ) = entity_extract_ids($entity_type, $entity);
 
-  $feed_nid = feeds_get_feed_nid($entity_id, $entity_type);
-
-  if ($feed_nid === FALSE) {
-    return NULL;
+  $feed_nid = NULL;
+  if ($entity_id) {
+    $feed_nid = feeds_get_feed_nid($entity_id, $entity_type);
+    if ($feed_nid === FALSE) {
+      return NULL;
+    }
+  }
+  // If the entity has no ID (yet) try read the feed nid from the object
+  // directly.
+  elseif (isset($entity->feeds_item->feed_nid)) {
+    $feed_nid = $entity->feeds_item->feed_nid;
   }
   return $feed_nid;
 }