diff --git a/.htaccess b/.htaccess
index 45abcc7..7972217 100644
--- a/.htaccess
+++ b/.htaccess
@@ -115,6 +115,10 @@ DirectoryIndex index.php index.html index.htm
   RewriteCond %{REQUEST_URI} !core
   RewriteRule ^ %1/core/%2 [L,QSA,R=301]
 
+  # Rewrite the install.php to check during installation if
+  # the mod_rewrite is working
+  RewriteRule ^core/install.php core/install.php?rewrite=ok [QSA,L]
+
   # Pass all requests not referring directly to files in the filesystem to
   # index.php. Clean URLs are handled in drupal_environment_initialize().
   RewriteCond %{REQUEST_FILENAME} !-f
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index a4e7926..f27372b 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -15,7 +15,7 @@
  * Implements hook_requirements().
  */
 function system_requirements($phase) {
-  global $base_url;
+  global $base_url, $install_state;
   $requirements = array();
 
   // Report Drupal version
@@ -52,6 +52,13 @@ function system_requirements($phase) {
     'value' => $software,
   );
 
+  // Test Clean URL support
+  if ($phase == 'install' && $install_state['interactive'] && !isset($_GET['rewrite']) && strpos($software,'Apache') !== FALSE) {
+    $requirements['rewrite_module']['title'] = t('Clean URLs');
+    $requirements['rewrite_module']['value'] = t('Your system configuration does not currently support this feature. The <a href="@link">handbook page on Clean URLs</a> has additional troubleshooting information.', array('@link' => 'http://drupal.org/node/15365'));
+    $requirements['rewrite_module']['severity'] = REQUIREMENT_WARNING;
+  }
+
   // Test PHP version and show link to phpinfo() if it's available
   $phpversion = phpversion();
   if (function_exists('phpinfo')) {
