diff --git a/ecrire/base/auxiliaires.php b/ecrire/base/auxiliaires.php
index 9868be2443763a7448cfcdde3361c09d5bdda817..debb351e1a08f4a48a5d083108249c8e2ea07828 100644
--- a/ecrire/base/auxiliaires.php
+++ b/ecrire/base/auxiliaires.php
@@ -186,9 +186,7 @@ $spip_versions = array (
 		"champs"	=> "text");
 
 $spip_versions_key = array (
-		"PRIMARY KEY"	=> "id_article, id_version",
-		"KEY date"	=> "id_article, date",
-		"KEY id_auteur"	=> "id_auteur");
+		"PRIMARY KEY"	=> "id_article, id_version");
 
 $spip_versions_fragments = array(
 		"id_fragment"	=> "int unsigned DEFAULT '0' NOT NULL",
diff --git a/ecrire/inc/revisions.php b/ecrire/inc/revisions.php
index 0218d6fa6d9413c586547e44ffcd6ab0b7066349..32bf540464b410900981f33bf9935db76d0f800c 100644
--- a/ecrire/inc/revisions.php
+++ b/ecrire/inc/revisions.php
@@ -601,8 +601,7 @@ function enregistrer_premiere_revision($x) {
 
 		$id_article = $x['args']['id_objet'];
 
-		$query = spip_query("SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1");
-		if (!spip_num_rows($query)) {
+		if (!sql_countsel('spip_versions',"id_article=$id_article")) {
 			$select = join(", ", liste_champs_versionnes($x['args']['table']));
 			$query = spip_query("SELECT $select, date, date_modif FROM spip_articles WHERE id_article=$id_article");
 			$champs_originaux = sql_fetch($query);
@@ -638,7 +637,6 @@ function enregistrer_nouvelle_revision($x) {
 			if (isset($x['data'][$key]))
 				$champs[$key] = $x['data'][$key];
 
-		spip_log("enregistrer_nouvelle_revision " . count($champs));
 		if (count($champs))
 			ajouter_version($x['args']['id_objet'], $champs, '', $GLOBALS['auteur_session']['id_auteur']);
 	}
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 0a6b4c3c558b87e37bcec76f36472164b1fc743c..3297adb38a88f040c6bdd826e8004707e7629446 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -307,7 +307,7 @@ $liste_des_statuts = array(
 // (utilise pour les modifs de la base de donnees)
 
 // version de la base
-$spip_version = 1.948;
+$spip_version = 1.949;
 
 // version de spip en chaine
 // et en numerique a incrementer sur les evolutions qui cassent la compatibilite descendante
diff --git a/ecrire/maj/v019.php b/ecrire/maj/v019.php
index fdbf93214af978f3b9d767d891e38bb7f8418b4a..708f599919e98bab6236d48e703cc87281996517 100644
--- a/ecrire/maj/v019.php
+++ b/ecrire/maj/v019.php
@@ -462,6 +462,10 @@ function maj_v019_dist($version_installee, $version_cible)
 	  maj_v019_48();
 	  maj_version('1.948');
 	}
+	if (upgrade_vers(1.949, $version_installee, $version_cible)) {
+	  maj_v019_49();
+	  maj_version('1.949');
+	}
 }
 
 function maj_v019_45()
@@ -593,4 +597,11 @@ function maj_v019_48()
 {
 	sql_alter("TABLE spip_versions CHANGE id_version bigint(21) DEFAULT 0 NOT NULL");
 }
+
+function maj_v019_49()
+{
+	sql_alter("TABLE spip_versions DROP INDEX date");
+	sql_alter("TABLE spip_versions DROP INDEX id_auteur");
+}
+
 ?>