diff --git a/relation_add.module b/relation_add.module
index 7ff5a46..989b066 100644
--- a/relation_add.module
+++ b/relation_add.module
@@ -499,8 +499,15 @@ function relation_add_field_widget_form(&$form, &$form_state, $field, $instance,
   }
   elseif (count($instance['settings']['relation_type']) > 1) {
     foreach ($instance['settings']['relation_type'] as $rel_type) {
-      $relation_type = relation_type_load($rel_type);
-      $types[$rel_type] = $relation_type->label;
+      $pos = strpos($rel_type, ':reverse');
+      if (FALSE !== $pos) {
+        $relation_type=relation_type_load(substr($rel_type, 0, $pos));
+        $types[$rel_type] = $relation_type->reverse_label;
+      }
+      else {
+        $relation_type = relation_type_load($rel_type);
+        $types[$rel_type] = $relation_type->label;
+      }
     }
   }
 
@@ -510,13 +517,16 @@ function relation_add_field_widget_form(&$form, &$form_state, $field, $instance,
 
   if (!empty($types)) {
     if (isset($item['relation_type'])) {
-      if (isset($types[$item['relation_type']])) {
-        $type = $item['relation_type'];
-        $relation_reverse = FALSE;
-      }
-      elseif (isset($types[$item['relation_type'] . ':reverse'])) {
-        $type = $item['relation_type'] . ':reverse';
-        $relation_reverse = TRUE;
+      foreach ($item['endpoints'][$langcode] as $endpoint) {
+        if ($endpoint['entity_id'] == $item['my_entity_id']) {
+          $relation_reverse = $endpoint['r_index'];
+          $type = $item['relation_type'] . (($relation_reverse) ? ':reverse' : '');
+          if (!isset($types[$type])) {
+            if (isset($types[$item['relation_type']])) {
+              $type = $item['relation_type'];
+            }
+          }
+        }
       }
     }
 
@@ -548,6 +558,9 @@ function relation_add_field_widget_form(&$form, &$form_state, $field, $instance,
       $type_array = explode(':', $form_state['values'][$field['field_name']][$langcode][$delta]['relation_type']);
       $type = $type_array[0];
       $relation_reverse = (isset($type_array[1]) && $type_array[1] == 'reverse');
+      if (isset($item['relation_type'])) {
+        $item['relation_type'] = $type;
+      }
     }
   }
 
