diff --git a/facetapi.callbacks.inc b/facetapi.callbacks.inc
index 953ca90..9cec2e7 100644
--- a/facetapi.callbacks.inc
+++ b/facetapi.callbacks.inc
@@ -6,10 +6,16 @@
  */
 
 /**
- * Map callback for node types.
+ * Maps bundle machine names to their human friendly label.
  */
-function facetapi_map_bundle(array $values) {
-  $names = node_type_get_names();
+function facetapi_map_bundle(array $values, array $options = array('entities' => array('node'))) {
+  foreach ($options['entities'] as $entity_type) {
+    if ($info = entity_get_info($entity_type)) {
+      foreach ($info['bundles'] as $bundle_name => $bundle_info) {
+        $names[$bundle_name] = $bundle_info['label'];
+      }
+    }
+  }
   return array_intersect_key($names, array_flip($values));
 }
 
