diff --git a/lib/image.php b/lib/image.php
index 60a714880d0b567018603c06e85724ea6444a213..62f35b4fc99598bf717ccbdb6d51e124c679abc4 100644
--- a/lib/image.php
+++ b/lib/image.php
@@ -526,6 +526,7 @@ class OC_Image {
 			imagedestroy($process);
 			return false;
 		}
+		imagedestroy($this->resource);
 		$this->resource = $process;
 		return true;
 	}
@@ -558,7 +559,14 @@ class OC_Image {
 			imagedestroy($process);
 			return false;
 		}
+		imagedestroy($this->resource);
 		$this->resource = $process;
 		return true;
 	}
+
+	public function __destruct(){
+		if(is_resource($this->resource)){
+			imagedestroy($this->resource);
+		}
+	}
 }