Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.744
diff -u -p -r1.744 common.inc
--- includes/common.inc	20 Dec 2007 23:14:11 -0000	1.744
+++ includes/common.inc	21 Dec 2007 15:10:58 -0000
@@ -362,8 +362,8 @@ function drupal_not_found() {
     $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 @@ function drupal_access_denied() {
     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 -p -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 15:12:41 -0000
@@ -1210,6 +1210,13 @@ function system_error_reporting_settings
     '#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 the blocks on error reporting pages.')
+  );
+
   $form['#validate'][] = 'system_error_reporting_settings_validate';
 
   return system_settings_form($form);
