diff --git a/ecrire/action/documenter.php b/ecrire/action/documenter.php
index 42c2599615826933039cc887a980976ed41c474a..cefea4962ccdfaee8d5e3a50a587fcb95cb630b3 100644
--- a/ecrire/action/documenter.php
+++ b/ecrire/action/documenter.php
@@ -39,10 +39,9 @@ function supprimer_lien_document($id_document, $objet, $id_objet) {
 	sql_updateq("spip_documents", array('id_vignette' => 0), "id_vignette=".$id_document);
 
 	// On supprime ensuite s'il est orphelin
-	if (!sql_countsel('spip_documents_liens', 'id_document='.$id_document)){
-		$supprimer_document = charger_fonction('supprimer_document','action');
-		return $supprimer_document($id_document);
-	}
+	// (autorisation verifiee dans l'action)
+	$supprimer_document = charger_fonction('supprimer_document','action');
+	return $supprimer_document($id_document);
 }
 
 // http://doc.spip.org/@action_documenter_post
diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index cdfae968c0cce398b5cd873da70025d6cb1e2b2d..a6177fe0100e42de8773f2931c3da81ca882ad0a 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -274,6 +274,20 @@ function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt){
 }
 
 
+// On ne peut supprimer un document que s'il n'est lie a aucun objet
+// c'est autorise pour tout auteur ayant acces a ecrire
+// http://doc.spip.org/@autoriser_document_modifier_dist
+function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt){
+	if (!intval($id)
+		OR !$qui['id_auteur']
+		OR !autoriser('ecrire','','',$qui))
+		return false;
+	if (sql_countsel('spip_documents_liens', 'id_document='.intval($id)))
+		return false;
+
+	return true;
+}
+
 // Autoriser a modifier la breve $id
 // = admins & redac si la breve n'est pas publiee
 // = admins de rubrique parente si publiee