diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php
index 2177a4b3ed01fab1ec282cc82ec2f20e0658fbc8..670eadd5ea9583bccf0803dafb2e916fe820eadd 100644
--- a/apps/dav/appinfo/v1/publicwebdav.php
+++ b/apps/dav/appinfo/v1/publicwebdav.php
@@ -88,6 +88,11 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authBackend, func
 	$fileInfo = $ownerView->getFileInfo($path);
 	$linkCheckPlugin->setFileInfo($fileInfo);
 
+	// If not readble (files_drop) enable the filesdrop plugin
+	if (!$isReadable) {
+		$filesDropPlugin->enable();
+	}
+
 	$view = new \OC\Files\View($ownerView->getAbsolutePath($path));
 	$filesDropPlugin->setView($view);
 
diff --git a/apps/dav/lib/Files/Sharing/FilesDropPlugin.php b/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
index bc00ea0771b81919947309618074817677213293..ccfa452cb68833a1e3fd6e09b26197e1c1031634 100644
--- a/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
+++ b/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
@@ -32,11 +32,12 @@ use Sabre\HTTP\ResponseInterface;
  */
 class FilesDropPlugin extends ServerPlugin {
 
-	/**
-	 * @var View
-	 */
+	/** @var View */
 	private $view;
 
+	/** @var bool */
+	private $enabled = false;
+
 	/**
 	 * @param View $view
 	 */
@@ -44,6 +45,11 @@ class FilesDropPlugin extends ServerPlugin {
 		$this->view = $view;
 	}
 
+	public function enable() {
+		$this->enabled = true;
+	}
+
+
 	/**
 	 * This initializes the plugin.
 	 *
@@ -52,10 +58,16 @@ class FilesDropPlugin extends ServerPlugin {
 	 * @return void
 	 */
 	public function initialize(\Sabre\DAV\Server $server) {
-		$server->on('beforeMethod', [$this, 'beforeMethod']);
+		$server->on('beforeMethod:PUT', [$this, 'beforeMethod']);
+		$this->enabled = false;
 	}
 
 	public function beforeMethod(RequestInterface $request, ResponseInterface $response){
+
+		if (!$this->enabled) {
+			return;
+		}
+
 		$path = $request->getPath();
 
 		if ($this->view->file_exists($path)) {