diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index 88bb823a64e8e778eed676b9e13399f5e52eeb04..1e49a008cf62e8748deb3c63442215e7eb9c0576 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -201,8 +201,9 @@ function marquer_doublons_documents($champs,$id,$type,$id_table_objet,$table_obj
 			$GLOBALS['doublons_documents_inclus']);
 		$res = sql_select("id_document", "spip_documents", $in_liste);
 		while ($row = sql_fetch($res)) {
-			// Creer le lien s'il n'existe pas deja
-			if (!sql_updateq("spip_documents_liens", array("vu" => 'oui'), "id_objet=$id AND objet=".sql_quote($type)." AND id_document=" . $row['id_document'])) {
+			// Mettre le lien a jour ou le creer s'il n'existe pas deja
+			if (!sql_updateq("spip_documents_liens", array("vu" => 'oui'), "id_objet=$id AND objet=".sql_quote($type)." AND id_document=".$row['id_document']) OR
+			!sql_getfetsel("id_document", "spip_documents_liens", "id_document=".$row['id_document']." AND id_objet=$id AND objet=".sql_quote($type))) {
 				sql_insertq("spip_documents_liens", array('id_objet'=>$id, 'objet'=>$type, 'id_document' => $row['id_document'], 'vu' => 'oui'));
 			}
 		}