diff --git a/entityreference_browser.module b/entityreference_browser.module
index d409fae..98e51b6 100644
--- a/entityreference_browser.module
+++ b/entityreference_browser.module
@@ -95,7 +95,8 @@ function entityreference_browser_field_formatter_view($entity_type, $entity, $fi
   switch ($display['type']) {
     case 'entityreference_browser_formatter':
       foreach ($items as $delta => $item) {
-        $output = '<input type="checkbox" /> ' . l($item['value'], 'node/' . $item['value'], array('attributes' => array('data-id' => $item['value'])));
+        $entity_path = entity_uri($entity_type, $loaded_entity);
+        $output = '<input type="checkbox" /> ' . l($item['value'], $entity_path['path'], array('attributes' => array('data-id' => $item['value'])));
         $element[$delta] = array('#markup' => $output);
       }
       break;
@@ -232,8 +233,9 @@ function entityreference_browser_field_widget_form(&$form, &$form_state, $field,
   // Build HTML to represent selected items.
   $entities_array = array();
   foreach ($selected_entities as $id => $loaded_entity) {
-    $remove_item_link = l('[' . t('remove') . ']', 'node/' . $id, array('attributes' => array('class' => 'remove', 'data-id' => $id)));
-    $entities_array[] = array('data' => $loaded_entity->title . ' ' . $remove_item_link, 'data-ec' => $ec, 'data-id' => $id);
+    $entity_path = entity_uri($entity_type, $loaded_entity);
+    $remove_item_link = l('[' . t('remove') . ']', $entity_path['path'], array('attributes' => array('class' => 'remove', 'data-id' => $id)));
+    $entities_array[] = array('data' => entity_label($entity_type, $loaded_entity) . ' ' . $remove_item_link, 'data-ec' => $ec, 'data-id' => $id);
   }
 
   $variables = array(
diff --git a/views/entityreference_browser_field_picker.inc b/views/entityreference_browser_field_picker.inc
index ee4184a..2a30c2c 100644
--- a/views/entityreference_browser_field_picker.inc
+++ b/views/entityreference_browser_field_picker.inc
@@ -22,6 +22,17 @@ class entityreference_browser_field_picker extends views_handler_field {
   }
 
   function render($values) {
-    return l($values->node_title, 'node/' . $values->nid, array('attributes' => array('class' => 'picker', 'data-id' => $values->nid)));
+    $entities = entity_get_info();
+    foreach ($entities as $e_key => $e_value) {
+      if ($e_value['base table'] == $this->table) {
+        $entity_type = $e_key;
+      }
+    }
+
+    $id_key = $this->real_field;
+    $entity = reset(entity_load($entity_type, array($values->$id_key)));
+    $entity_label = entity_label($entity_type, $entity);
+    $entity_path = entity_uri($entity_type, $entity);
+    return l($entity_label, $entity_path['path'], array('attributes' => array('class' => 'picker', 'data-id' => $values->$id_key)));
   }
-}
\ No newline at end of file
+}
