diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index 93244bea6ffc7da65d527de66f29d665d27c2552..c28ac5849984880dc14631bc30f78357efbbaedf 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -189,7 +189,6 @@ class File extends Node implements IFile {
 					}
 					if (!$run || $renameOkay === false || $fileExists === false) {
 						\OC_Log::write('webdav', 'renaming part file to final file failed', \OC_Log::ERROR);
-						$partStorage->unlink($internalPartPath);
 						throw new Exception('Could not rename part file to final file');
 					}
 				} catch (\Exception $e) {
@@ -350,6 +349,7 @@ class File extends Node implements IFile {
 		if ($chunk_handler->isComplete()) {
 			list($storage,) = $this->fileView->resolvePath($path);
 			$needsPartFile = $this->needsPartFile($storage);
+			$partFile = null;
 
 			try {
 				$targetPath = $path . '/' . $info['name'];
@@ -388,7 +388,7 @@ class File extends Node implements IFile {
 				$info = $this->fileView->getFileInfo($targetPath);
 				return $info->getEtag();
 			} catch (\Exception $e) {
-				if ($partFile) {
+				if ($partFile !== null) {
 					$this->fileView->unlink($partFile);
 				}
 				$this->convertToSabreException($e);