diff --git a/action/editer_document.php b/action/editer_document.php
index 170ebfc4c148dfe879e690571b5043d9228c1c9d..30bbbbca313972778e475af24dad9ec6ea674aea 100644
--- a/action/editer_document.php
+++ b/action/editer_document.php
@@ -195,8 +195,8 @@ function document_instituer($id_document, $champs = array()) {
 
 		$trouver_table = charger_fonction('trouver_table', 'base');
 		$res = sql_select(
-			'id_objet,objet',
-			'spip_documents_liens',
+			'id_objet,objet, mode',
+			'spip_documents_liens join spip_documents using(id_document)',
 			"objet!='document' AND id_document=" . intval($id_document)
 		);
 		// On aura 19 jours 3h14 et 7 secondes pour corriger en 2038 (limitation de la représentation POSIX du temps sur les 32 bits)
@@ -204,10 +204,14 @@ function document_instituer($id_document, $champs = array()) {
 		include_spip('base/objets');
 		while ($row = sql_fetch($res)) {
 			if (
-				// cas particulier des rubriques qui sont publiees des qu'elles contiennent un document !
-				$row['objet'] == 'rubrique'
-				// ou si objet publie selon sa declaration
-				or objet_test_si_publie($row['objet'], $row['id_objet'])
+				// si ce n'est pas un logo
+				!in_array($row['mode'], array('logoon','logooff'))
+				and (
+					// cas particulier des rubriques qui sont publiees des qu'elles contiennent un document !
+					$row['objet'] == 'rubrique'
+					// ou si objet publie selon sa declaration
+					or objet_test_si_publie($row['objet'], $row['id_objet'])
+				)
 			) {
 				$statut = 'publie';
 				$date_publication = 0;
diff --git a/medias_pipelines.php b/medias_pipelines.php
index b84c3d14e24f69588b5e1ed41b2c6d357b1d8944..e2d75f46e50316d241e699d662d957723642b40f 100644
--- a/medias_pipelines.php
+++ b/medias_pipelines.php
@@ -311,12 +311,12 @@ function medias_objet_compte_enfants($flux) {
 		if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
 			$flux['data']['document'] = sql_countsel(
 				'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document',
-				'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie')"
+				'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie') and D.mode NOT IN ('logoon','logoff') "
 			);
 		} else {
 			$flux['data']['document'] = sql_countsel(
 				'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document',
-				'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie' OR D.statut='prepa')"
+				'L.objet=' . sql_quote($objet) . 'AND L.id_objet=' . intval($id) . " AND (D.statut='publie' OR D.statut='prepa') and D.mode NOT IN ('logoon','logoff')"
 			);
 		}
 	}