diff --git a/apachesolr.index.inc b/apachesolr.index.inc
old mode 100644
new mode 100755
index 4875b42..8d922a9
--- a/apachesolr.index.inc
+++ b/apachesolr.index.inc
@@ -114,7 +114,7 @@ function apachesolr_index_entity_to_documents($item, $env_id) {
   $document = _apachesolr_index_process_entity_get_document($entity, $entity_type);
 
   //Get the callback array to add stuff to the document
-  $callbacks = apachesolr_entity_get_callback($entity_type, 'document callback');
+  $callbacks = apachesolr_entity_get_callback($entity_type, 'document callback', $bundle);
   $documents = array();
   foreach ($callbacks as $callback) {
     // Call a type-specific callback to add stuff to the document.
diff --git a/apachesolr.module b/apachesolr.module
old mode 100644
new mode 100755
index 6f3b8ae..641d699
--- a/apachesolr.module
+++ b/apachesolr.module
@@ -1757,7 +1757,7 @@ function apachesolr_entity_update($entity, $type) {
     $info = entity_get_info($type);
     list($id, $vid, $bundle) = entity_extract_ids($type, $entity);
 
-    $status_callback = apachesolr_entity_get_callback($type, 'status callback');
+    $status_callback = apachesolr_entity_get_callback($type, 'status callback', $bundle);
     $status = 0;
     if (is_callable($status_callback)) {
       $status = $status_callback($entity, $type);
diff --git a/apachesolr_search.module b/apachesolr_search.module
old mode 100644
new mode 100755
index f241079..cf2a9f4
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -1201,8 +1201,9 @@ function apachesolr_search_process_response($response, DrupalSolrQueryInterface
         }
       }
       $hook = 'apachesolr_search_snippets__' . $doc->entity_type;
-      if (!empty($doc->bundle)) {
-        $hook .= '__' . $doc->bundle;
+      $bundle = !empty($doc->bundle) ? $doc->bundle : null;
+      if ($bundle) {
+        $hook .= '__' . $bundle;
       }
       $snippet = theme($hook, array('doc' => $doc, 'snippets' => $snippets));
 
@@ -1261,11 +1262,11 @@ function apachesolr_search_process_response($response, DrupalSolrQueryInterface
         'snippet' => $snippet,
         'fields' => $fields,
         'entity_type' => $doc->entity_type,
-        'bundle' => $doc->bundle,
+        'bundle' => $bundle,
       );
 
       // Call entity-type-specific callbacks for extra handling.
-      $function = apachesolr_entity_get_callback($doc->entity_type, 'result callback');
+      $function = apachesolr_entity_get_callback($doc->entity_type, 'result callback', $bundle);
       if (is_callable($function)) {
         $function($doc, $result, $extra);
       }
