diff --git a/help/export.html b/help/export.html
index 234ef15..2cdd07a 100644
--- a/help/export.html
+++ b/help/export.html
@@ -160,6 +160,9 @@ function mymodule_schema() {
 <dt>load callback</dt>
 <dd>CRUD callback to use to load a single item. If not provided, the default load function will be used. The callback will accept a single argument which should be an identifier of the export key.</dd>
 
+<dt>load multiple callback</dt>
+<dd>CRUD callback to use to load multiple item. If not provided, the default load function will be used. The callback will accept an array which should be the identifiers of the export key.</dd>
+
 <dt>load all callback</dt>
 <dd>CRUD callback to use to load all items, usually for administrative purposes. If not provided, the default load function will be used. The callback will accept a single argument to determine if the load cache should be reset or not.</dd>
 
@@ -179,7 +182,7 @@ function mymodule_schema() {
 <dd>CRUD callback to use for updating the status of an object. If the status is TRUE the object will be disabled. If the status is FALSE the object will be enabled.</dd>
 
 <dt>api</dt>
-<dd>The 'api' key can optionally contain some information for the plugin API definition. This means that the imports can be tied to an API name which is used to have automatic inclusion of files, and can be used to prevent dangerous objects from older versions from being loaded, causing a loss of functionality rather than site crashes or security loopholes. 
+<dd>The 'api' key can optionally contain some information for the plugin API definition. This means that the imports can be tied to an API name which is used to have automatic inclusion of files, and can be used to prevent dangerous objects from older versions from being loaded, causing a loss of functionality rather than site crashes or security loopholes.
 
 If not present, no additional files will be loaded and the default hook will always be a simple hook that must be either part of the .module file or loaded during normal operations.
 
@@ -247,8 +250,8 @@ Typically, there will be two load functions. A 'single' load, to load just one o
 
 <pre>
 /**
-* Load a single myobj.
-*/
+ * Load a single myobj.
+ */
 function mymodule_myobj_load($name) {
   ctools_include('export');
   $result = ctools_export_load_object('mymodule_myobjs', 'names', array($name));
@@ -256,6 +259,15 @@ function mymodule_myobj_load($name) {
     return $result[$name];
   }
 }
+
+/**
+ * Load multiple myobjs.
+ */
+function mymodule_myobj_load_multiple(array $names) {
+  ctools_include('export')
+  $results = ctools_export_load_object('mymodule_myobjs', names, $names);
+  return array_filter($results);
+}
 </pre>
 
 <h3>The save callback</h3>
diff --git a/includes/export.inc b/includes/export.inc
index 66aa3b6..6cd08ee 100644
--- a/includes/export.inc
+++ b/includes/export.inc
@@ -86,6 +86,36 @@ function ctools_export_crud_load($table, $name) {
 }
 
 /**
+ * Load a multiple exportable objects.
+ *
+ * @param $table
+ *   The name of the table to use to retrieve $schema values. This table
+ *   must have an 'export' section containing data or this function
+ *   will fail.
+ * @param $names
+ *   An array of unique IDs to load. The field for these IDs will be specified
+ *   by the export key, which normally defaults to 'name'.
+ *
+ * @return
+ *   An array of the loaded objects.
+ */
+function ctools_export_crud_load_multiple($table, array $names) {
+  $schema = ctools_export_get_schema($table);
+  $export = $schema['export'];
+
+  $results = array();
+  if (!empty($export['load multiple callback']) && function_exists($export['load multiple callback'])) {
+    $results = $export['load multiple callback']($names);
+  }
+  else {
+    $results = ctools_export_load_object($table, 'names', $names);
+  }
+
+  // Ensure no empty results are returned.
+  return array_filter($results);
+}
+
+/**
  * Load all exportable objects of a given type.
  *
  * @param $table
@@ -973,6 +1003,7 @@ function ctools_export_get_schema($table) {
     //
     // create callback
     // load callback
+    // load multiple callback
     // load all callback
     // save callback
     // delete callback
