diff --git a/xmlsitemap.generate.inc b/xmlsitemap.generate.inc
index 454b79de38884567a4b67044449049920f747e64..b7cf4ed5c420e9c526f170b6cf1118f4a3c1fbe3 100644
--- a/xmlsitemap.generate.inc
+++ b/xmlsitemap.generate.inc
@@ -461,6 +461,13 @@ function xmlsitemap_rebuild_batch_fetch($entity, &$context) {
   $query->addTag('xmlsitemap_rebuild');
   $query->addMetaData('entity', $entity);
   $query->addMetaData('entity_info', $info);
+  if ($types = xmlsitemap_get_link_type_enabled_bundles($entity)) {
+    $query->entityCondition('bundle', $types, 'IN');
+  }
+  else {
+    // If no enabled bundle types, skip everything else.
+    return;
+  }
 
   if (!isset($context['sandbox']['max'])) {
     $count_query = clone $query;