diff --git a/apps/dav/lib/connector/sabre/filesplugin.php b/apps/dav/lib/connector/sabre/filesplugin.php
index 8b54291793aea16fa0a5bd97e189d82f89f1a60b..b74fa7063befacae30a058330407eccc6caa266c 100644
--- a/apps/dav/lib/connector/sabre/filesplugin.php
+++ b/apps/dav/lib/connector/sabre/filesplugin.php
@@ -28,17 +28,19 @@
 namespace OCA\DAV\Connector\Sabre;
 
 use OC\Files\View;
+use OCA\DAV\Upload\FutureFile;
 use Sabre\DAV\Exception\Forbidden;
 use Sabre\DAV\Exception\NotFound;
 use Sabre\DAV\IFile;
 use \Sabre\DAV\PropFind;
 use \Sabre\DAV\PropPatch;
+use Sabre\DAV\ServerPlugin;
 use Sabre\DAV\Tree;
 use \Sabre\HTTP\RequestInterface;
 use \Sabre\HTTP\ResponseInterface;
 use OCP\Files\StorageNotAvailableException;
 
-class FilesPlugin extends \Sabre\DAV\ServerPlugin {
+class FilesPlugin extends ServerPlugin {
 
 	// namespace
 	const NS_OWNCLOUD = 'http://owncloud.org/ns';
@@ -146,11 +148,17 @@ class FilesPlugin extends \Sabre\DAV\ServerPlugin {
 
 	/**
 	 * Plugin that checks if a move can actually be performed.
+	 *
 	 * @param string $source source path
 	 * @param string $destination destination path
 	 * @throws Forbidden
+	 * @throws NotFound
 	 */
 	function checkMove($source, $destination) {
+		$sourceNode = $this->server->tree->getNodeForPath($source);
+		if ($sourceNode instanceof FutureFile) {
+			return;
+		}
 		list($sourceDir,) = \Sabre\HTTP\URLUtil::splitPath($source);
 		list($destinationDir,) = \Sabre\HTTP\URLUtil::splitPath($destination);