diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 00a27ddf4a8ed1bc960e3050f32324f8fac0c37a..6b1ab8d0648db5ca9d3ac0b3dfe27d76c81786dd 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -83,7 +83,6 @@ if ($statut_nouv) {
 	if ($ok) {
 		$query = "UPDATE spip_articles SET statut='$statut_nouv' WHERE id_article=$id_article";
 		$result = spip_query($query);
-		calculer_rubriques();
 
 		if ($statut_nouv == 'publie' AND $statut_nouv != $statut_article) {
 			$query = "UPDATE spip_articles SET date=NOW() WHERE id_article=$id_article";
@@ -92,6 +91,8 @@ if ($statut_nouv) {
 				indexer_article($id_article);
 			}
 		}
+		calculer_rubriques();
+
 		if ($statut_nouv == 'publie' AND $statut_article != $statut_nouv) {
 			envoyer_mail_publication($id_article);
 		}
@@ -111,9 +112,9 @@ if ($jour && $flag_editable) {
 	if ($mois == "00") $jour = "00";
 	$query = "UPDATE spip_articles SET date='$annee-$mois-$jour' WHERE id_article=$id_article";
 	$result = spip_query($query);
+	calculer_dates_rubriques();
 }
 
-
 if ($jour_redac && $flag_editable) {
 	if ($annee_redac < 1001) $annee_redac += 9000;
 
diff --git a/ecrire/sites.php3 b/ecrire/sites.php3
index 5edbca0fd2891ac6d52767c99a61f7402447d7b7..044eb5da3cd64958934d5017cfecd495bab30e25 100644
--- a/ecrire/sites.php3
+++ b/ecrire/sites.php3
@@ -136,7 +136,7 @@ if ($nouveau_statut AND $flag_administrable) {
 		$query = "UPDATE spip_syndic SET date=NOW() WHERE id_syndic='$id_syndic'";
 		$result = spip_query($query);
 	}
-	calculer_rubriques_publiques();
+	calculer_rubriques();
 	if ($statut == 'publie') {
 		if (lire_meta('activer_moteur') == 'oui') {
 			indexer_syndic($id_syndic);