diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php
index 98ca33d66f74cc99f9d8fa2dfb924a708bb9f714..42856286ab02e27d5703ec36c54c59607d912bda 100644
--- a/ecrire/req/sqlite_generique.php
+++ b/ecrire/req/sqlite_generique.php
@@ -1882,12 +1882,18 @@ function spip_sqlite_updateq($table, $champs, $where = '', $desc = array(), $ser
 	}
 	$fields = $desc['field'];
 
-	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
-	$champs = _sqlite_ajouter_champs_timestamp($table, $champs, $desc, $serveur);
-
 	$set = array();
 	foreach ($champs as $champ => $val) {
-		$set[] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
+		$set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
+	}
+
+	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
+	// attention ils sont deja quotes
+	$maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
+	foreach ($maj as $champ => $val) {
+		if (!isset($set[$champ])) {
+			$set[$champ] = $champ . '=' . $val;
+		}
 	}
 
 	return spip_sqlite_query(
@@ -2618,18 +2624,25 @@ function _sqlite_ajouter_champs_timestamp($table, $couples, $desc = '', $serveur
 		// cependant, il faudra peut etre etendre
 		// avec la gestion de DEFAULT et ON UPDATE
 		// mais ceux-ci ne sont pas utilises dans le core
-		$tables[$table] = array();
+		$tables[$table] = ['valeur' => [], 'cite' => [], 'desc' => []];
 
-		$now = _sqlite_func_now();
+		$now = _sqlite_func_now(true);
 		foreach ($desc['field'] as $k => $v) {
 			if (strpos(strtolower(ltrim($v)), 'timestamp') === 0) {
-				$tables[$table][$k] = _sqlite_calculer_cite($now, $v);
+				$tables[$table]['desc'][$k] = $v;
+				$tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
 			}
 		}
 	}
+	else {
+		$now = _sqlite_func_now(true);
+		foreach (array_keys($tables[$table]['desc']) as $k) {
+			$tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
+		}
+	}
 
 	// ajout des champs type 'timestamp' absents
-	return array_merge($tables[$table], $couples);
+	return array_merge($tables[$table]['valeur'], $couples);
 }