Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.756 diff -u -p -r1.756 common.inc --- includes/common.inc 30 Jan 2008 23:07:41 -0000 1.756 +++ includes/common.inc 13 Feb 2008 20:44:15 -0000 @@ -362,7 +362,7 @@ function drupal_not_found() { } // To conserve CPU and bandwidth, omit the blocks. - print theme('page', $return, FALSE); + print theme('page', $return, variable_get('site_404_blocks', FALSE)); } /** Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.63 diff -u -p -r1.63 system.admin.inc --- modules/system/system.admin.inc 4 Feb 2008 12:35:48 -0000 1.63 +++ modules/system/system.admin.inc 13 Feb 2008 20:44:16 -0000 @@ -1223,6 +1223,14 @@ function system_error_reporting_settings '#field_prefix' => url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q=') ); + $form['site_404_blocks'] = array( + '#type' => 'radios', + '#title' => t('Display blocks on 404 (not found) page'), + '#default_value' => variable_get('site_404_blocks', 0), + '#options' => array(TRUE => t('Enable'), FALSE => t('Disable')), + '#description' => t('If enabled then a 404 (not found) page will be fully themed. If disabled then a 404 (not found) page will not display the blocks. The suggested reason for leaving this disabled is for performance concerns. This option is only valid if you provide a "Default 404 (not found) page".') + ); + $form['error_level'] = array( '#type' => 'select', '#title' => t('Error reporting'), '#default_value' => variable_get('error_level', 1), '#options' => array(t('Write errors to the log'), t('Write errors to the log and to the screen')),