diff --git a/ecrire/inc/filtres_images_lib_mini.php b/ecrire/inc/filtres_images_lib_mini.php
index f93aace205321f1937603aef39c446b12d02c158..6f373026cb80b55598d96af719b3df277b06f280 100644
--- a/ecrire/inc/filtres_images_lib_mini.php
+++ b/ecrire/inc/filtres_images_lib_mini.php
@@ -365,20 +365,22 @@ function _imagecreatefromgif($filename){
  * @param string $fichier
  * 		Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.png).
  * @return bool
- * 		false si l'image créée a une largeur nulle ;
+ * 		false si l'image créée a une largeur nulle ou n'existe pas ;
  * 		true si une image est bien retournée.
  */
 function _image_imagepng($img, $fichier) {
 	if (!function_exists('imagepng')) return false;
 	$tmp = $fichier.".tmp";
 	$ret = imagepng($img,$tmp);
+	if(file_exists($tmp)){
+		$taille_test = getimagesize($tmp);
+		if ($taille_test[0] < 1) return false;
 	
-	$taille_test = getimagesize($tmp);
-	if ($taille_test[0] < 1) return false;
-
-	spip_unlink($fichier); // le fichier peut deja exister
-	@rename($tmp, $fichier);
-	return $ret;
+		spip_unlink($fichier); // le fichier peut deja exister
+		@rename($tmp, $fichier);
+		return $ret;
+	}
+	return false;
 }
 
 /**
@@ -390,21 +392,22 @@ function _image_imagepng($img, $fichier) {
  * @param string $fichier
  * 		Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.gif).
  * @return bool
- * 		false si l'image créée a une largeur nulle ;
+ * 		false si l'image créée a une largeur nulle ou n'existe pas ;
  * 		true si une image est bien retournée.
  */
 function _image_imagegif($img,$fichier) {
 	if  (!function_exists('imagegif')) return false;
 	$tmp = $fichier.".tmp";
 	$ret = imagegif($img,$tmp);
-
-	$taille_test = getimagesize($tmp);
-	if ($taille_test[0] < 1) return false;
-
-
-	spip_unlink($fichier); // le fichier peut deja exister
-	@rename($tmp, $fichier);
-	return $ret;
+	if(file_exists($tmp)){
+		$taille_test = getimagesize($tmp);
+		if ($taille_test[0] < 1) return false;
+		
+		spip_unlink($fichier); // le fichier peut deja exister
+		@rename($tmp, $fichier);
+		return $ret;
+	}
+	return false;
 }
 
 /**
@@ -421,7 +424,7 @@ function _image_imagegif($img,$fichier) {
  * 		valeur (85) de la constante _IMG_GD_QUALITE (modifiable depuis
  * 		mes_options.php).
  * @return bool
- * 		false si l'image créée a une largeur nulle ;
+ * 		false si l'image créée a une largeur nulle ou n'existe pas ;
  * 		true si une image est bien retournée.
  */
 function _image_imagejpg($img,$fichier,$qualite=_IMG_GD_QUALITE) {
@@ -429,12 +432,15 @@ function _image_imagejpg($img,$fichier,$qualite=_IMG_GD_QUALITE) {
 	$tmp = $fichier.".tmp";
 	$ret = imagejpeg($img,$tmp, $qualite);
 
-	$taille_test = getimagesize($tmp);
-	if ($taille_test[0] < 1) return false;
+	if(file_exists($tmp)){
+		$taille_test = getimagesize($tmp);
+		if ($taille_test[0] < 1) return false;
 
-	spip_unlink($fichier); // le fichier peut deja exister
-	@rename($tmp, $fichier);
-	return $ret;
+		spip_unlink($fichier); // le fichier peut deja exister
+		@rename($tmp, $fichier);
+		return $ret;
+	}
+	return false;
 }
 
 /**