Index: relation.field.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/relation/relation.field.inc,v
retrieving revision 1.1
diff -u -p -r1.1 relation.field.inc
--- relation.field.inc	24 Nov 2010 20:57:49 -0000	1.1
+++ relation.field.inc	2 Dec 2010 09:12:14 -0000
@@ -114,7 +114,7 @@ function relation_field_widget_form(&$fo
   $element['entity_type'] = array(
     '#type' => 'select',
     '#title' => t('Entity type'),
-    '#options' => drupal_map_assoc(array_keys(entity_get_info())),
+    '#options' => drupal_map_assoc(relation_get_possible_targets($field['field_name'])),
     '#default_value' => isset($items[$delta]) ? $items[$delta]['entity_type'] : '',
   );
   $element['entity_id'] = array(
@@ -122,6 +122,10 @@ function relation_field_widget_form(&$fo
     '#type' => 'textfield',
     '#default_value' => isset($items[$delta]) ? $items[$delta]['entity_id'] : '',
   );
+  $element['relation_id'] = array(
+    '#type' => 'hidden',
+    '#value' => isset($items[$delta]) ? $items[$delta]['relation_id'] : db_next_id(),
+  );
   return $element;
 }
 
@@ -172,3 +176,14 @@ function relation_field_formatter_prepar
     }
   }
 }
+
+/**
+ * Helper function to get all entity types with given field attached.
+ */
+function relation_get_possible_targets($field_name) {
+  $instances = field_read_instances( array( "field_name" => $field_name ) );
+  foreach ( $instances as $instance ) {
+    $entity_types[$instance['entity_type']]=true;
+  };
+  return array_keys($entity_types);
+}
\ No newline at end of file
Index: relation.info
===================================================================
RCS file: /cvs/drupal/contributions/modules/relation/relation.info,v
retrieving revision 1.3
diff -u -p -r1.3 relation.info
--- relation.info	24 Nov 2010 21:12:52 -0000	1.3
+++ relation.info	2 Dec 2010 09:12:14 -0000
@@ -1,6 +1,7 @@
 ; $Id: relation.info,v 1.3 2010/11/24 21:12:52 sun Exp $
 name = Relation
 description = Describes relationships between entities.
+dependencies[] = entity
 core = 7.x
 files[] = relation.module
 files[] = relation.field.inc
