diff --git a/relation_add.module b/relation_add.module
index 9c9e604..a4e2216 100644
--- a/relation_add.module
+++ b/relation_add.module
@@ -499,8 +499,14 @@
   }
   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;
+      if ($pos=strpos($rel_type, ':reverse')){
+        $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 +516,11 @@
 
   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':'');
+        }
       }
     }
 
