Index: includes/batch.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/batch.inc,v
retrieving revision 1.53
diff -u -p -r1.53 batch.inc
--- includes/batch.inc	4 Oct 2010 07:34:26 -0000	1.53
+++ includes/batch.inc	24 Oct 2010 16:25:20 -0000
@@ -95,6 +95,26 @@ function _batch_page() {
 }
 
 /**
+ * Delivery callback for batch requests.
+ *
+ * @see drupal_deliver_page()
+ * @see drupal_deliver_html_page()
+ */
+function batch_deliver_page($page_callback_result) {
+  if ($page_callback_result === FALSE) {
+    drupal_deliver_html_page(MENU_ACCESS_DENIED);
+  }
+  elseif (isset($page_callback_result) && (is_string($page_callback_result) || is_array($page_callback_result))) {
+    // Force a page without blocks or messages to display a list of collected
+    // messages later.
+    drupal_set_page_content($page_callback_result);
+    $page_callback_result = element_info('page');
+    $page_callback_result['#show_messages'] = FALSE;
+  }
+  return drupal_deliver_html_page($page_callback_result);
+}
+
+/**
  * Initialize the batch processing.
  *
  * JavaScript-enabled clients are identified by the 'has_js' cookie set in
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.323
diff -u -p -r1.323 system.admin.inc
--- modules/system/system.admin.inc	20 Oct 2010 16:19:24 -0000	1.323
+++ modules/system/system.admin.inc	24 Oct 2010 16:17:06 -0000
@@ -2277,26 +2277,6 @@ function system_php() {
 }
 
 /**
- * Default page callback for batches.
- */
-function system_batch_page() {
-  require_once DRUPAL_ROOT . '/includes/batch.inc';
-  $output = _batch_page();
-
-  if ($output === FALSE) {
-    drupal_access_denied();
-  }
-  elseif (isset($output)) {
-    // Force a page without blocks or messages to
-    // display a list of collected messages later.
-    drupal_set_page_content($output);
-    $page = element_info('page');
-    $page['#show_messages'] = FALSE;
-    return $page;
-  }
-}
-
-/**
  * Returns HTML for an administrative block for display.
  *
  * @param $variables
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.983
diff -u -p -r1.983 system.module
--- modules/system/system.module	21 Oct 2010 12:09:41 -0000	1.983
+++ modules/system/system.module	24 Oct 2010 16:17:06 -0000
@@ -1047,11 +1047,13 @@ function system_menu() {
 
   // Default page for batch operations.
   $items['batch'] = array(
-    'page callback' => 'system_batch_page',
+    'page callback' => '_batch_page',
+    'delivery callback' => 'batch_deliver_page',
     'access callback' => TRUE,
     'theme callback' => '_system_batch_theme',
     'type' => MENU_CALLBACK,
-    'file' => 'system.admin.inc',
+    'file path' => 'includes',
+    'file' => 'batch.inc',
   );
   return $items;
 }
