diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 44212b1..6e505f5 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -23,6 +23,20 @@ function system_requirements($phase) {
   global $install_state;
   $requirements = array();
 
+  // Subdomain validation.
+  if (strpos($_SERVER['HTTP_HOST'], '_') !== FALSE) {
+    // Domain-name requirements are specified in RFCs 952 and 1123, and the
+    // underscore character is not permitted.  Whilst most browsers will still
+    // show the web site, Internet Explorer will silently drop any cookies from
+    // that domain, which means Internet Explorer users will not be able to log
+    // in.
+   $requirements['hostname'] = array(
+      'title' => t('Host name'),
+      'value' => t('Fails'),
+      'severity' => REQUIREMENT_WARNING,
+      'description' => t('Host names should not include an underscore. Whilst most browsers will still function, Internet Explorer will appear to serve the web site, but will silently drop all cookies for the domain, preventing Internet Explorer users from logging in.'),
+    );
+  }
   // Report Drupal version
   if ($phase == 'runtime') {
     $requirements['drupal'] = array(
