diff --git a/apachesolr_search.module b/apachesolr_search.module
index ea27b5a..cbb2a4a 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -1516,7 +1516,7 @@ function apachesolr_search_apachesolr_entity_info_alter(&$entity_info) {
 function apachesolr_search_node_result($doc, &$result, &$extra) {
   $doc->uid = $doc->is_uid;
   $result += array(
-    'type' => $doc->bundle,
+    'type' => apachesolr_search_get_type($doc->bundle),
     'user' => theme('username', $doc),
     'date' => isset($doc->changed) ? $doc->changed : 0,
     'node' => $doc,
@@ -1529,6 +1529,16 @@ function apachesolr_search_node_result($doc, &$result, &$extra) {
 }
 
 /**
+ * Callback function for mapping machine type to human readable type.
+ */
+function apachesolr_search_get_type($machine_type) {
+  $type = node_get_types('name', $machine_type);
+  // A disabled or missing node type returns FALSE.
+  $name = ($type === FALSE) ? $machine_type : $type;
+  return t($name);
+}
+
+/**
  * Returns whether a search page exists.
  */
 function apachesolr_search_page_exists($page_id) {
