diff --git a/medias_pipelines.php b/medias_pipelines.php
index 2872589bffede7b6383c2b659afa769b0bc9eb80..7b28189f86869e2c38027e3b8a706959cbfdd541 100644
--- a/medias_pipelines.php
+++ b/medias_pipelines.php
@@ -140,9 +140,9 @@ function medias_objet_compte_enfants($flux){
 	  AND $id=intval($flux['args']['id_objet'])) {
 		// juste les publies ?
 		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 Lid_objet=".intval($id)." AND (D.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')");
 		} 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 Lid_objet=".intval($id)." AND (D.statut='publie' OR D.statut='prepa')");
+			$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')");
 		}
 	}
 	return $flux;
diff --git a/prive/squelettes/inclure/portfolio-documents.html b/prive/squelettes/inclure/portfolio-documents.html
index 2ff44789254c7a9115ec7419b8fa439f1ef1dacc..c33ff07c9024be56772cff20014dd5c76cbafb79 100644
--- a/prive/squelettes/inclure/portfolio-documents.html
+++ b/prive/squelettes/inclure/portfolio-documents.html
@@ -5,6 +5,7 @@
   Distribue sous licence GPL
 
 ]
+#SET{nbdocs,0}
 <div id="portfolios">
 [(#REM) D'abord les images illustration]
 <B_illustrations>
@@ -16,6 +17,7 @@
 </BOUCLE_illustrations>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/image,#SELF|ancre_url{illustrations}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_illustrations>
 
 [(#REM) puis les images du portfolio]
@@ -28,6 +30,7 @@
 </BOUCLE_portfolio>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/document,#SELF|ancre_url{portfolio}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_portfolio>
 
 [(#REM) puis les documents]
@@ -40,10 +43,30 @@
 </BOUCLE_documents>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-D/document,#SELF|ancre_url{documents}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_documents>
 
 <script type="text/javascript">/*<![CDATA[*/
 var multifile='[(#CHEMIN{javascript/jquery.multifile.js}|texte_script)]';
 [(#INCLURE{javascript/medias_edit.js}|compacte{js})]
+[(#OBJET|=={rubrique}|et{#EVAL{_AJAX}}|et{#GET{nbdocs}|=={1}}|oui)
+if (window.jQuery) jQuery('#navigation .box.info').ajaxReload();]
+function check_reload_page(){
+	var reload = false;
+	if($('#illustrations').length && !$('#illustrations .item.document').length){
+		$('#illustrations').remove();reload = true;
+	}
+	if($('#portfolio').length && !$('#portfolio .item.document').length){
+		$('#portfolio').remove();reload = true;
+	}
+	if($('#documents').length && !$('#documents .item.document').length){
+		$('#documents').remove();reload = true;
+	}
+	if (reload) {
+		jQuery('#portfolios').ajaxReload();
+		jQuery('#navigation .box.info').ajaxReload();
+	}
+}
+if (window.jQuery) jQuery(function(){onAjaxLoad(check_reload_page);});
 /*]]>*/</script>
 </div>
\ No newline at end of file