diff --git a/lib/private/image.php b/lib/private/image.php
index da32aa4760fdfdb8c78b3287c86d5eb065882829..a4a23f0f097940d5df9566b3a33a732d61e57654 100644
--- a/lib/private/image.php
+++ b/lib/private/image.php
@@ -331,7 +331,7 @@ class OC_Image {
 				break;
 		}
 		if($rotate) {
-			$res = imagerotate($this->resource, $rotate, -1);
+			$res = imagerotate($this->resource, $rotate, 0);
 			if($res) {
 				if(imagealphablending($res, true)) {
 					if(imagesavealpha($res, true)) {
@@ -367,10 +367,10 @@ class OC_Image {
 			} elseif(in_array(get_resource_type($imageRef), array('file', 'stream'))) {
 				return $this->loadFromFileHandle($imageRef);
 			}
-		} elseif($this->loadFromFile($imageRef) !== false) {
-			return $this->resource;
 		} elseif($this->loadFromBase64($imageRef) !== false) {
 			return $this->resource;
+		} elseif($this->loadFromFile($imageRef) !== false) {
+			return $this->resource;
 		} elseif($this->loadFromData($imageRef) !== false) {
 			return $this->resource;
 		} else {
@@ -401,7 +401,6 @@ class OC_Image {
 	public function loadFromFile($imagePath=false) {
 		// exif_imagetype throws "read error!" if file is less than 12 byte
 		if(!@is_file($imagePath) || !file_exists($imagePath) || filesize($imagePath) < 12 || !is_readable($imagePath)) {
-			// Debug output disabled because this method is tried before loadFromBase64?
 			OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: ' . (string) urlencode($imagePath), OC_Log::DEBUG);
 			return false;
 		}