diff --git a/modules/node/node.api.php b/modules/node/node.api.php
index d7a98c6..a3b8032 100644
--- a/modules/node/node.api.php
+++ b/modules/node/node.api.php
@@ -517,7 +517,14 @@ function hook_node_insert($node) {
 }
 
 /**
- * Act on nodes being loaded from the database.
+ * Act on arbitrary nodes being loaded from the database.
+ *
+ * The $types parameter is an array of the various types of nodes contained
+ * in $nodes. Your module can use this information to quickly decide whether
+ * or not to continue processing the nodes.
+ *
+ * If your module defines its own node type, you can use hook_load() to respond
+ * to loading of just that type.
  *
  * This hook is invoked during node loading, which is handled by entity_load(),
  * via classes NodeController and DrupalDefaultEntityController. After the node
@@ -533,24 +540,24 @@ function hook_node_insert($node) {
  * information for all available nodes should be loaded in a single query where
  * possible.
  *
- * The $types parameter allows for your module to have an early return (for
- * efficiency) if your module only supports certain node types. However, if your
- * module defines a content type, you can use hook_load() to respond to loading
- * of just that content type.
- *
  * @param $nodes
  *   An array of the nodes being loaded, keyed by nid.
  * @param $types
- *   An array containing the types of the nodes.
+ *   An array containing the node types present in $nodes.
  *
  * For a detailed usage example, see nodeapi_example.module.
  *
  * @ingroup node_api_hooks
  */
 function hook_node_load($nodes, $types) {
-  $result = db_query('SELECT nid, foo FROM {mytable} WHERE nid IN(:nids)', array(':nids' => array_keys($nodes)));
-  foreach ($result as $record) {
-    $nodes[$record->nid]->foo = $record->foo;
+  // Decide whether any of $types are relevant to our purposes.
+  if (count(array_intersect($types_we_want_to_process, $types))) {
+    // Gather our extra data for each of these nodes.
+    $result = db_query('SELECT nid, foo FROM {mytable} WHERE nid IN(:nids)', array(':nids' => array_keys($nodes)));
+    // Add our extra data to the node objects.
+    foreach ($result as $record) {
+      $nodes[$record->nid]->foo = $record->foo;
+    }
   }
 }
 
@@ -1134,8 +1141,8 @@ function hook_insert($node) {
 /**
  * Act on nodes being loaded from the database.
  *
- * This hook is invoked only on the module that defines the node's content type
- * (use hook_node_load() to respond to all node loads).
+ * This hook is invoked only on the module that defines the node's content type.
+ * Use hook_node_load() to respond to all node loads.
  *
  * This hook is invoked during node loading, which is handled by entity_load(),
  * via classes NodeController and DrupalDefaultEntityController. After the node
