diff --git a/apachesolr.module b/apachesolr.module
index 455caeb..4b9a2bc 100644
--- a/apachesolr.module
+++ b/apachesolr.module
@@ -634,7 +634,20 @@ function apachesolr_comment_unpublish($comment) {
  */
 function apachesolr_node_type_delete($info) {
   module_load_include('inc', 'apachesolr', 'apachesolr.index');
-  apachesolr_index_mark_for_reindex($env_id, $info->type);
+  $env_id = apachesolr_default_environment();
+  $existing_bundles = apachesolr_get_index_bundles($env_id, 'node');
+  $new_bundles = $existing_bundles;
+  $index = array_search($info->type, $existing_bundles);
+  if ($index !== FALSE) {
+    unset($new_bundles[$index]);
+    $new_bundles = array_values($new_bundles);
+    apachesolr_index_set_bundles($env_id, 'node', $new_bundles);
+  }
+  apachesolr_index_delete_bundles($env_id, 'node', array($info->type));
+  $callback = apachesolr_entity_get_callback($entity_type, 'bundles changed callback');
+  if (!empty($callback)) {
+    call_user_func($callback, $env_id, $existing_bundles, $new_bundles);
+  }
 }
 
 /**
