diff --git a/entityreference.module b/entityreference.module
index 08f5c86..f4cf778 100644
--- a/entityreference.module
+++ b/entityreference.module
@@ -1082,6 +1082,15 @@ function entityreference_field_formatter_info() {
         'links' => TRUE,
       ),
     ),
+    'entityreference_separator' => array(
+      'label' => t('Separated'),
+      'description' => t('Display the referenced entity with a separator.'),
+      'field types' => array('entityreference'),
+      'settings' => array(
+        'link' => TRUE,
+        'separator' => ', ',
+      ),
+    ),
   );
 }
 
@@ -1125,9 +1134,40 @@ function entityreference_field_formatter_settings_form($field, $instance, $view_
     );
   }
 
+  if ($display['type'] == 'entityreference_separator') {
+    $element['link'] = array(
+      '#title' => t('Link label to the referenced entity'),
+      '#type' => 'checkbox',
+      '#default_value' => $settings['link'],
+    );
+    $separators = _entityreference_separator_separators();
+    $element['separator'] = array(
+      '#title' => t('Separator'),
+      '#type' => 'select',
+      '#options' => $separators,
+      '#default_value' => $settings['separator'],
+    );
+  }
+
   return $element;
 }
 
+function _entityreference_separator_separators() {
+  $separators = &drupal_static(__FUNCTION__, array());
+
+  if (empty($separators)) {
+    $separators = array(
+      ' ' => t('space'),
+      ', ' => t('comma'),
+      ' - ' => t('dash'),
+      ' / ' => t('slash'),
+    );
+    drupal_alter('entityreference_separators', $separators);
+  }
+
+  return $separators;
+}
+
 /**
  * Implements hook_field_formatter_settings_summary().
  */
@@ -1147,6 +1187,12 @@ function entityreference_field_formatter_settings_summary($field, $instance, $vi
     $summary[] = !empty($settings['links']) ? t('Display links') : t('Do not display links');
   }
 
+  if ($display['type'] == 'entityreference_separator') {
+    $separators = _entityreference_separator_separators();
+    $summary[] = t('Separated by !sep', array('!sep' => $separators[$settings['separator']]));
+    $summary[] = $settings['link'] ? t('Link to the referenced entity') : t('No link');
+  }
+
   return implode('<br />', $summary);
 }
 
@@ -1254,6 +1300,26 @@ function entityreference_field_formatter_view($entity_type, $entity, $field, $in
         $depth = 0;
       }
       break;
+
+    case 'entityreference_separator':
+      $handler = entityreference_get_selection_handler($field, $instance, $entity_type, $entity);
+      $linked = $display['settings']['link'];
+      $separator = $display['settings']['separator'];
+
+      foreach ($items as $delta => $item) {
+        $label = $handler->getLabel($item['entity']);
+        $item_display = ($delta > 0) ? $separator : '';
+        // If the link is to be displayed and the entity has a uri, display a link.
+        // Note the assignment ($url = ) here is intended to be an assignment.
+        if ($linked && ($uri = entity_uri($field['settings']['target_type'], $item['entity']))) {
+          $item_display .= l($label, $uri['path'], $uri['options']);
+        }
+        else {
+          $item_display .= check_plain($label);
+        }
+        $result[$delta] = array('#markup' => $item_display);
+      }
+      break;
   }
 
   return $result;
