diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3
index 389f50d9574ac0a1c45780fa7b4a6f9f1c571e99..bb924abb929c64dde4d241119d9bf596b2b24ca6 100644
--- a/ecrire/inc_base.php3
+++ b/ecrire/inc_base.php3
@@ -776,7 +776,7 @@ function maj_base() {
 		spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''");
 
 		$result = spip_query("SELECT * FROM spip_mots GROUP BY type");
-		while($row = mysql_fetch_array($result)) {
+		while($row = @mysql_fetch_array($result)) {
 				$type = addslashes($row['type']);
 				spip_query("INSERT INTO spip_groupes_mots 
 					(titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum)
@@ -789,7 +789,7 @@ function maj_base() {
 		spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL");
 	
 		$result = spip_query("SELECT * FROM spip_groupes_mots");
-		while($row = mysql_fetch_array($result)) {
+		while($row = @mysql_fetch_array($result)) {
 				$id_groupe = addslashes($row['id_groupe']);
 				$type = addslashes($row['titre']);
 				spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type=\"$type\"");
@@ -860,7 +860,7 @@ function maj_base() {
 	if ($version_installee < 1.418) {
 		$query = "SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 0,1";
 		$result = spip_query($query);
-		if ($webmaster = mysql_fetch_object($result)) {
+		if ($webmaster = @mysql_fetch_object($result)) {
 			include_ecrire("inc_meta.php3");
 			ecrire_meta('email_webmaster', $webmaster->email);
 			ecrire_metas();
@@ -945,16 +945,27 @@ function maj_base() {
 	}
 
 	if ($version_installee < 1.457) {
-		// tables remplacees lors de creer_base()
 		spip_query("DROP TABLE spip_visites");
 		spip_query("DROP TABLE spip_visites_temp");
 		spip_query("DROP TABLE spip_visites_referers");
+		creer_base(); // crade, a ameliorer :-((
 	}
 
 	if ($version_installee < 1.458) {
 		spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL");
 	}
 
+	if ($version_installee < 1.459) {
+		$result = spip_query("SELECT type FROM spip_mots GROUP BY type");
+		while ($row = @mysql_fetch_array($result)) {
+			$type = addslashes($row['type']);
+			spip_query("INSERT IGNORE INTO spip_groupes_mots 
+				(titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum)
+				VALUES ('$type', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
+			if ($id_groupe = mysql_insert_id()) 
+				spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'");
+		}
+	}
 
 	//
 	// Mettre a jour le numero de version installee
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index a1062af8ebb40b0d77688b109d045ba1d44c882f..29adf8cd2f01875e95a3208a8dc7b9b70e4a531c 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -12,7 +12,7 @@ define("_ECRIRE_INC_VERSION", "1");
 //
 
 // version de la base
-$spip_version = 1.458;
+$spip_version = 1.459;
 
 // version de spip
 // (mettre a jour a la main et conserver la mention "CVS")
diff --git a/ecrire/install.php3 b/ecrire/install.php3
index 3218e4834b6ee9db73bf8852bb6dc48dcfaf4ce8..89eb4edddb344dc8a24b01cd2600cd5993846cf5 100644
--- a/ecrire/install.php3
+++ b/ecrire/install.php3
@@ -155,8 +155,8 @@ elseif ($etape4) {
 	}
 	mysql_select_db("$sel_db");
 
-	maj_base();
 	creer_base();
+	maj_base();
 
 	$query = "SELECT COUNT(*) FROM spip_articles";
 	$result = spip_query($query);
diff --git a/ecrire/upgrade.php3 b/ecrire/upgrade.php3
index 5c07ee4d51c82ad5cff1f2ac54005ee623a9d21d..292bba01f981891ba9636a72c7e9d0e50633c6ee 100644
--- a/ecrire/upgrade.php3
+++ b/ecrire/upgrade.php3
@@ -7,8 +7,8 @@ include_ecrire ("inc_auth.php3");
 include_ecrire ("inc_admin.php3");
 include_ecrire ("inc_acces.php3");
 include_ecrire ("inc_meta.php3");
-include_ecrire("inc_texte.php3");
-include_ecrire("inc_filtres.php3");
+include_ecrire ("inc_texte.php3");
+include_ecrire ("inc_filtres.php3");
 
 $upgrade_titre = "mise &agrave; niveau de votre base MySQL";
 
@@ -35,8 +35,8 @@ debut_admin($upgrade_titre, $commentaire);
 
 include_ecrire ("inc_base.php3");
 
-maj_base();
 creer_base();
+maj_base();
 ecrire_acces();
 
 $hash = calculer_action_auteur("purger_squelettes");