diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index a04926b46bc5970d4f8a58379f8e44a55cd83f44..7400c43c41f12442f1200de634f62188da8cd243 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -625,10 +625,6 @@ function _system_is_incompatible(&$incompatible, $files, $file) {
  *   The form array.
  */
 function system_modules($form_state = array()) {
-  drupal_rebuild_theme_registry();
-  node_types_rebuild();
-  menu_rebuild();
-  cache_clear_all('schema', 'cache');
   // Get current list of modules.
   $files = module_rebuild_cache();
 
@@ -940,6 +936,10 @@ function system_modules_submit($form, &$form_state) {
     drupal_set_message(t('The configuration options have been saved.'));
   }
 
+  drupal_rebuild_theme_registry();
+  node_types_rebuild();
+  menu_rebuild();
+  cache_clear_all('schema', 'cache');
   drupal_clear_css_cache();
   drupal_clear_js_cache();
 
diff --git a/modules/system/system.module b/modules/system/system.module
index acf4608de7a51a61d2883ca581f2c73479d96fa6..9947dce1d2aa52e58288298c7a00dc242579b6a6 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -81,6 +81,7 @@ function system_help($path, $arg) {
       $output .= '<p>'. t('It is important that <a href="@update-php">update.php</a> is run every time a module is updated to a newer version.', array('@update-php' => $base_url .'/update.php')) .'</p>';
       $output .= '<p>'. t('You can find all administration tasks belonging to a particular module on the <a href="@by-module">administration by module page</a>.', array('@by-module' => url('admin/by-module'))) .'</p>';
       $output .= '<p>'. t('To extend the functionality of your site, a number of <a href="@modules">contributed modules</a> are available.', array('@modules' => 'http://drupal.org/project/modules')) .'</p>';
+      $output .= '<p>'. t('To clear all caches, click the button on the <a href="@performance">Performance page</a>.', array('@performance' => url('admin/settings/performance', array('fragment' => 'edit-clear')))) .'</p>';
       return $output;
     case 'admin/build/modules/uninstall':
       return '<p>'. t('The uninstall process removes all data related to a module. To uninstall a module, you must first disable it. Not all modules support this feature.') .'</p>';