diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index eb9dff9..a735c50 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -1571,13 +1571,16 @@ function install_configure_form($form, &$form_state, &$install_state) {
   }
 
   drupal_add_js(drupal_get_path('module', 'system') . '/system.js');
-  // Add JavaScript time zone detection.
-  drupal_add_js('core/misc/timezone.js');
   // We add these strings as settings because JavaScript translation does not
   // work on install time.
   drupal_add_js(array('copyFieldValue' => array('edit-site-mail' => array('edit-account-mail'))), 'setting');
   // Add JS to show / hide the 'Email administrator about site updates' elements
   drupal_add_js('jQuery(function () { Drupal.hideEmailAdministratorCheckbox() });', 'inline');
+  // Add JavaScript time zone detection, only if a time zone hasn't been
+  // selected already.
+  if (!variable_get('date_default_timezone') && empty($form_state['input']['date_default_timezone'])) {
+    $form['server_settings']['date_default_timezone']['#attached']['js'][] = 'misc/timezone.js';
+  }
 
   // Cache a fully-built schema. This is necessary for any invocation of
   // index.php because: (1) setting cache table entries requires schema
