diff --git a/apachesolr.index.inc b/apachesolr.index.inc
index 80e9794..2b9388d 100644
--- a/apachesolr.index.inc
+++ b/apachesolr.index.inc
@@ -669,7 +669,10 @@ function apachesolr_index_node_solr_reindex($env_id) {
  * Status callback for ApacheSolr, for nodes.
  */
 function apachesolr_index_node_status_callback($node, $type) {
-  return $node->status;
+  // Make sure we have a boolean value.
+  // Anything different from 1 becomes zero
+  $status = ($node->status == 1 ? 1 : 0);
+  return $status;
 }
 
 
diff --git a/apachesolr.module b/apachesolr.module
index 104112a..9d86c47 100644
--- a/apachesolr.module
+++ b/apachesolr.module
@@ -1749,6 +1749,8 @@ function apachesolr_entity_should_index($entity, $type) {
  * Implements hook_entity_update().
  */
 function apachesolr_entity_update($entity, $type) {
+  // Include the index file for the status callback
+  module_load_include('inc', 'apachesolr', 'apachesolr.index');
   if (apachesolr_entity_should_index($entity, $type)) {
     $info = entity_get_info($type);
     list($id, $vid, $bundle) = entity_extract_ids($type, $entity);
