Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.744
diff -u -r1.744 common.inc
--- includes/common.inc	20 Dec 2007 23:14:11 -0000	1.744
+++ includes/common.inc	21 Dec 2007 17:42:05 -0000
@@ -362,8 +362,8 @@
     $return = t('The requested page could not be found.');
   }
 
-  // To conserve CPU and bandwidth, omit the blocks.
-  print theme('page', $return, FALSE);
+  // Visibility of blocks is determined by admin setting and server load.
+  print theme('page', $return, variable_get('error_page_show_blocks', FALSE) && variable_get('throttle_level', 0) == 0);
 }
 
 /**
@@ -390,7 +390,9 @@
     drupal_set_title(t('Access denied'));
     $return = t('You are not authorized to access this page.');
   }
-  print theme('page', $return);
+
+  // Visibility of blocks is determined by admin setting and server load.
+  print theme('page', $return, variable_get('error_page_show_blocks', FALSE) && variable_get('throttle_level', 0) == 0);
 }
 
 /**
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.43
diff -u -r1.43 system.admin.inc
--- modules/system/system.admin.inc	20 Dec 2007 21:37:42 -0000	1.43
+++ modules/system/system.admin.inc	21 Dec 2007 17:42:06 -0000
@@ -441,7 +441,7 @@
       '#description' => t('If toggled on, the following logo will be displayed.'),
       '#attributes' => array('class' => 'theme-settings-bottom'),
     );
-    $form['logo']["default_logo"] = array(
+    $form['logo']['default_logo'] = array(
       '#type' => 'checkbox',
       '#title' => t('Use the default logo'),
       '#default_value' => $settings['default_logo'],
@@ -1210,6 +1210,13 @@
     '#description' =>  t('Specify where Drupal, PHP and SQL errors are logged. While it is recommended that a site running in a production environment write errors to the log only, in a development or testing environment it may be helpful to write errors both to the log and to the screen.')
   );
 
+  $form['error_page_show_blocks'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display Blocks'),
+    '#default_value' => variable_get('error_page_show_blocks', FALSE),
+    '#description' => t('Show blocks on error reporting pages.')
+  );
+
   $form['#validate'][] = 'system_error_reporting_settings_validate';
 
   return system_settings_form($form);
