diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php
index 16480be5f6dc2cde48319a6ad5d009c53ef3a684..024d65a202931545947b24fc5d35689d9ac97711 100644
--- a/formulaires/joindre_document.php
+++ b/formulaires/joindre_document.php
@@ -212,9 +212,11 @@ function formulaires_joindre_document_verifier_dist(
 				) {
 					list($fichiers, $erreurs, $tmp_zip) = $contenu_zip;
 					if ($fichiers) {
+						// on passe le md5 du fichier uniquement, on le retrouvera dans zip_to_clean de la session
+						$token_zip = md5($tmp_zip);
 						$erreurs['message_erreur'] = '';
 						$erreurs['lister_contenu_archive'] = recuperer_fond("formulaires/inc-lister_archive_jointe",
-							array('chemin_zip' => $tmp_zip, 'liste_fichiers_zip' => $fichiers, 'erreurs_fichier_zip' => $erreurs));
+							array('chemin_zip' => $token_zip, 'liste_fichiers_zip' => $fichiers, 'erreurs_fichier_zip' => $erreurs));
 					} else {
 						$erreurs['message_erreur'] = _T('medias:erreur_aucun_fichier');
 					}
diff --git a/inc/joindre_document.php b/inc/joindre_document.php
index ea3309262a05aa02a0754c9e14c07accf647e2dc..2950beca1326975f8d6d462d35f2b7731c53fbc3 100644
--- a/inc/joindre_document.php
+++ b/inc/joindre_document.php
@@ -127,7 +127,13 @@ function joindre_trouver_fichier_envoye() {
 
 			return $files;
 		}
-	} elseif (_request('joindre_zip') and $path = _request('chemin_zip')) {
+	} elseif (_request('joindre_zip') and $token_zip = _request('chemin_zip')) {
+
+		$zip_to_clean = (isset($GLOBALS['visiteur_session']['zip_to_clean']) ? unserialize($GLOBALS['visiteur_session']['zip_to_clean']) : array());
+		if (!$zip_to_clean or !isset($zip_to_clean[$token_zip]) or !$path = $zip_to_clean[$token_zip]){
+			return _T('avis_operation_impossible');
+		}
+
 		include_spip('inc/documents'); //pour creer_repertoire_documents
 		define('_tmp_zip', $path);
 		define('_tmp_dir', creer_repertoire_documents(md5($path . $GLOBALS['visiteur_session']['id_auteur'])));
@@ -239,7 +245,7 @@ function joindre_verifier_zip($files) {
 			and rename($zip, $tmp = $tmp . basename($zip))
 		) {
 			$zip_to_clean = (isset($GLOBALS['visiteur_session']['zip_to_clean']) ? unserialize($GLOBALS['visiteur_session']['zip_to_clean']) : array());
-			$zip_to_clean[] = $tmp;
+			$zip_to_clean[md5($tmp)] = $tmp;
 			session_set('zip_to_clean', serialize($zip_to_clean));
 			$contenu[] = $tmp;
 
diff --git a/paquet.xml b/paquet.xml
index 7ae2341ffc62f90ffadf43f48f95a772023cb801..43fb9b6046992941c89213c90344cd54bdf04f03 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="medias"
 	categorie="multimedia"
-	version="2.14.3"
+	version="2.14.4"
 	etat="stable"
 	compatibilite="[3.2.0-dev;]"
 	logo="prive/themes/spip/images/portfolio-32.png"