diff --git a/apachesolr_search.module b/apachesolr_search.module
index a94c0a9..53828ef 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -1313,7 +1313,11 @@ function apachesolr_search_process_response($response, DrupalSolrQueryInterface
         }
       }
 
-      $hook = 'apachesolr_search_snippets__' . $doc->entity_type;
+      $hook = NULL;
+      if (isset($doc->entity_type)) {
+        $hook = 'apachesolr_search_snippets__' . $doc->entity_type;
+      }
+
       $bundle = !empty($doc->bundle) ? $doc->bundle : NULL;
       if ($bundle) {
         $hook .= '__' . $bundle;
@@ -1370,16 +1374,16 @@ function apachesolr_search_process_response($response, DrupalSolrQueryInterface
         'title' => htmlspecialchars_decode($doc->label, ENT_QUOTES),
         // These values are not required by the search module but are provided
         // to give entity callbacks and themers more flexibility.
-        'score' => $doc->score,
+        'score' => isset($doc->score) ? $doc->score : NULL ,
         'snippets' => $snippets,
         'snippet' => $snippet,
         'fields' => $fields,
-        'entity_type' => $doc->entity_type,
+        'entity_type' => isset($doc->entity_type) ? $doc->entity_type : NULL ,
         'bundle' => $bundle,
       );
 
       // Call entity-type-specific callbacks for extra handling.
-      $result_callback = apachesolr_entity_get_callback($doc->entity_type, 'result callback', $bundle);
+      $result_callback = apachesolr_entity_get_callback(isset($doc->entity_type) ? $doc->entity_type : NULL, 'result callback', $bundle);
       if (is_callable($result_callback)) {
         $result_callback($doc, $result, $extra);
       }
