diff --git includes/install.core.inc includes/install.core.inc
index 52ef593..8b469c4 100644
--- includes/install.core.inc
+++ includes/install.core.inc
@@ -214,6 +214,14 @@ function install_begin_request(&$install_state) {
   // Add any installation parameters passed in via the URL.
   $install_state['parameters'] += $_GET;
 
+  // If the user switches from JS to non-JS the 'has_js'-cookie will stay
+  // behind and will prevent the installation from completing successfully. We
+  // delete this cookie at the start of the installation process.
+  if (empty($install_state['parameters']) && isset($_COOKIE['has_js'])) {
+    setcookie('has_js', '', time() - 3600, '/');
+    unset($_COOKIE['has_js']);
+  }
+
   // Validate certain core settings that are used throughout the installation.
   if (!empty($install_state['parameters']['profile'])) {
     $install_state['parameters']['profile'] = preg_replace('/[^a-zA-Z_0-9]/', '', $install_state['parameters']['profile']);
