diff --git a/library/Class/AlbumRessource.php b/library/Class/AlbumRessource.php
index 7006091500ec25cc29cb160a06d92005126d9068..06e9d8e27bf31c91af80318067375ceaeb252dd4 100644
--- a/library/Class/AlbumRessource.php
+++ b/library/Class/AlbumRessource.php
@@ -285,17 +285,18 @@ class Class_AlbumRessource extends Storm_Model_Abstract {
 	 * @return Imagick
 	 */
 	public function getImage() {
-		if (!isset($this->_image)) {
-			try {
-				$this->_image = new Imagick(($this->isImage) ?
-					                             $this->getOriginalPath() :
-					                             $this->getPosterPath());
-
-			} catch (Exception $e) {
-				$this->_image = new Imagick();
-				$this->_image->newPseudoImage(50, 50, "gradient:black-black");
-				$this->_image->setImageFormat('jpg');
-			}
+		if (isset($this->_image))
+			return $this->_image;
+				
+		try {
+			$this->_image = new Imagick(($this->isImage()) ?
+				                             $this->getOriginalPath() :
+				                             $this->getPosterPath());
+
+		} catch (Exception $e) {
+			$this->_image = new Imagick();
+			$this->_image->newPseudoImage(50, 50, "gradient:black-black");
+			$this->_image->setImageFormat('jpg');
 		}
 
 		return $this->_image;
@@ -629,14 +630,47 @@ class Class_AlbumRessource extends Storm_Model_Abstract {
 
 		if ($this->isNew())
 			$this->setOrdre($this->getNextOrder());
+
+		if (!$mediaType = $this->getMediaType())
+			return;
+
+		if (in_array($mediaType, [self::MEDIA_TYPE_IMAGE, self::MEDIA_TYPE_FILE])
+			  && $this->hasUrl()) {
+			$this->setUrl('');
+		}
+
+		if ((self::MEDIA_TYPE_IMAGE == $mediaType) && $this->hasPoster()) {
+			$this->deletePosterAndThumbnail();
+			$this->setPoster('');
+		}
+				
+		if ((self::MEDIA_TYPE_URL == $mediaType) && $this->hasFichier()) {
+			$this->deleteFichierAndThumbnail();
+			$this->setFichier('');
+		}
 	}
 
 
 	public function deleteFiles() {
-		if ('' != $this->getFichier()) {
-			$this->unlink($this->getOriginalPath());
-			$this->unlink($this->getThumbnailPath());
+		if ($this->isImage() && $this->hasFichier()) {
+			$this->deleteFichierAndThumbnail();
+			return;
 		}
+
+		if ($this->hasPoster())
+			$this->deletePosterAndThumbnail();
+	}
+
+
+	public function deleteFichierAndThumbnail() {
+		$this->unlink($this->getOriginalPath());
+		$this->unlink($this->getThumbnailPath());
+	}
+
+
+	public function deletePosterAndThumbnail() {
+		$this->unlink($this->getPosterPath());
+		$this->unlink($this->getThumbnailPath());
 	}
 
 
@@ -722,7 +756,6 @@ class Class_AlbumRessource extends Storm_Model_Abstract {
 		return $folio;
 	}
 
-
 	
 	public function setMediaType($type) {
 		$this->_media_type = $type;
@@ -767,7 +800,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract {
 
 
 	public function validateMediaIsFileWithExtensions($extensions = []) {
-	// en édition et fichier inchangé
+		// en édition et fichier inchangé
 		if (!$this->isNew() && !$this->isFileUploadedForName('fichier'))
 			return;