require (JIRAFEAU_ROOT . 'lib/lang.php');
 require (JIRAFEAU_ROOT . 'lib/template/header.php');
 
-check_errors ();
+check_errors ($cfg);
 if (has_error ())
 {
     show_errors ();
 
     return $path . ((substr ($path, -1) == '/') ? '' : '/');
 }
 
+if ($cfg['installation_done'] === true)
+{
+    header('Location: index.php');
+    exit;
+}
+
 if (!file_exists (JIRAFEAU_CFG))
 {
     /* We try to create an empty one. */
         exit;
     }
 }
-#else
-#{
-#    header('Location: index.php');
-#    exit;
-#}
 
 if (!is_writable (JIRAFEAU_CFG) && !@chmod (JIRAFEAU_CFG, '0666'))
 {
     case 3:
         $cfg['web_root'] = jirafeau_add_ending_slash ($_POST['web_root']);
         $cfg['var_root'] = jirafeau_add_ending_slash ($_POST['var_root']);
+        $cfg['installation_done'] = true;
         jirafeau_export_cfg ($cfg);
         break;
 
 
 /* Upload password. Empty string disable the password. */
 $cfg['upload_password'] = '';
 
+/* Installation is done ? */
+$cfg['installation_done'] = false;
+
 if ((basename (__FILE__) != 'config.local.php')
     && file_exists (JIRAFEAU_ROOT.'lib/config.local.php'))
 {
 
     }
 }
 
-function check_errors ()
+function check_errors ($cfg)
 {
     if (file_exists (JIRAFEAU_ROOT . 'install.php')
-        && !file_exists (JIRAFEAU_ROOT . 'lib/config.local.php'))
+        && !($cfg['installation_done'] === true))
     {
         header('Location: install.php'); 
         exit;
 
 if ($_SERVER['REQUEST_METHOD'] == "GET" && count ($_GET) == 0)\r
 {\r
     require (JIRAFEAU_ROOT . 'lib/template/header.php');\r
-    check_errors ();\r
+    check_errors ($cfg);\r
     if (has_error ())\r
     {\r
         show_errors ();\r
 /* Lets use interface now. */\r
 header('Content-Type: text; charset=utf-8');\r
 \r
-check_errors ();\r
+check_errors ($cfg);\r
 if (has_error ())\r
 {\r
     echo "Error";\r