diff --git a/relation_entity_collector/relation_entity_collector.module b/relation_entity_collector/relation_entity_collector.module
index 9d571f9..db3d5d1 100644
--- a/relation_entity_collector/relation_entity_collector.module
+++ b/relation_entity_collector/relation_entity_collector.module
@@ -114,6 +114,14 @@ function relation_entity_collector_entity_load($entities, $type) {
 }
 
 /**
+ * Given the entity and bundle types, return the bundle label.
+ */
+function _relation_entity_collector_get_bundle_label($entity_type, $entity_bundle) {
+  $entity_info = entity_get_info($entity_type);
+  return $entity_info['bundles'][$entity_bundle]['label'];
+}
+
+/**
  * The entity_collector form.
  */
 function relation_entity_collector($form, &$form_state) {
@@ -149,7 +157,8 @@ function relation_entity_collector($form, &$form_state) {
           $valid = TRUE;
         }
         if ($valid) {
-          $options["$entity_type:$entity_id"] = "$entity_bundle: " . entity_label($entity_type, $entity);
+          $bundle_label = _relation_entity_collector_get_bundle_label($entity_type, $entity_bundle) . ': ';
+          $options["$entity_type:$entity_id:$entity_bundle"] = $bundle_label . entity_label($entity_type, $entity);
         }
       }
     }
@@ -293,12 +302,11 @@ function relation_entity_collector_validate($form, &$form_state) {
       if ($errors) {
         return;
       }
-      // Here we get (entity_type, entity_id).
+      // Here we get (entity_type, entity_id, entity_bundle).
       $break = explode(':', $entity_key);
       // Add the label for later display. #options is check_plain'd but we need
       // to do that ourselves.
       $entity_label = check_plain($form['entity_key']['#options'][$entity_key]);
-      $entity_label_array = explode(':', $entity_label, 2);
       // Indexes are added in ascending order, starting from 0.
       $_SESSION += array('relation_entity_keys' => array());
       $next_index = count($_SESSION['relation_entity_keys']);
@@ -306,7 +314,7 @@ function relation_entity_collector_validate($form, &$form_state) {
       $form_state['pick'] = array(
         'entity_type' => $break[0],
         'entity_id' => $break[1],
-        'entity_bundle' => $entity_label_array[0],
+        'entity_bundle' => $break[2],
         'r_index' => $next_index,
         'entity_label' => $entity_label,
         'entity_key' => $entity_key,
diff --git a/relation_entity_collector/tests/relation_entity_collector.test b/relation_entity_collector/tests/relation_entity_collector.test
index 9aa8527..1d78f5a 100644
--- a/relation_entity_collector/tests/relation_entity_collector.test
+++ b/relation_entity_collector/tests/relation_entity_collector.test
@@ -27,8 +27,8 @@ class RelationEntityCollectorTestCase extends RelationTestCase {
    * Add relations to Node 1 and to Node 3 and then check that they are related.
    */
   function testEntityCollector() {
-    $node1key = 'node:' . $this->node1->nid;
-    $node3key = 'node:' . $this->node3->nid;
+    $node1key = 'node:' . $this->node1->nid . ':article';
+    $node3key = 'node:' . $this->node3->nid . ':page';
 
     $relation_type = $this->relation_types['symmetric']['relation_type'];
     $edit = array(
@@ -53,8 +53,8 @@ class RelationEntityCollectorTestCase extends RelationTestCase {
     $node1_label = entity_label('node', $this->node1);
     $node3_label = entity_label('node', $this->node3);
     $items = array(
-      "article: " . $node1_label,
-      "page: " . $node3_label,
+      _relation_entity_collector_get_bundle_label('node', 'article') . ': ' . $node1_label,
+      _relation_entity_collector_get_bundle_label('node', 'page') . ': ' . $node3_label,
     );
     $item_list = array(
       '#theme' => 'item_list',
