diff --git a/lib/private/connector/sabre/filesplugin.php b/lib/private/connector/sabre/filesplugin.php
index ac781825672cdbe28a5b2bac44ba0c27e6df6430..89444cb8d18a8b83f39646e94b749b86ee53c3cf 100644
--- a/lib/private/connector/sabre/filesplugin.php
+++ b/lib/private/connector/sabre/filesplugin.php
@@ -40,6 +40,8 @@ class OC_Connector_Sabre_FilesPlugin extends Sabre_DAV_ServerPlugin
 
 		$this->server = $server;
 		$this->server->subscribeEvent('beforeGetProperties', array($this, 'beforeGetProperties'));
+		$this->server->subscribeEvent('afterCreateFile', array($this, 'sendFileIdHeader'));
+		$this->server->subscribeEvent('afterWriteContent', array($this, 'sendFileIdHeader'));
 	}
 
 	/**
@@ -70,4 +72,18 @@ class OC_Connector_Sabre_FilesPlugin extends Sabre_DAV_ServerPlugin
 
 	}
 
+	/**
+	 * @param $filePath
+	 * @param Sabre_DAV_INode $node
+	 * @throws Sabre_DAV_Exception_BadRequest
+	 */
+	public function sendFileIdHeader($filePath, Sabre_DAV_INode $node = null) {
+		if ($node instanceof OC_Connector_Sabre_Node) {
+			$fileId = $node->getFileId();
+			if (!is_null($fileId)) {
+				$this->server->httpResponse->setHeader('OC-FileId', $fileId);
+			}
+		}
+	}
+
 }
diff --git a/lib/private/connector/sabre/node.php b/lib/private/connector/sabre/node.php
index 76fbc251100d18543ed77dbc8fbee8ce74423f74..993aa73faeb15b54c0d9040572b98c49626b6d71 100644
--- a/lib/private/connector/sabre/node.php
+++ b/lib/private/connector/sabre/node.php
@@ -276,7 +276,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
 		if (isset($this->fileinfo_cache['fileid'])) {
 			$instanceId = OC_Util::getInstanceId();
 			$id = sprintf('%08d', $this->fileinfo_cache['fileid']);
-			return $instanceId . $id;
+			return $id . $instanceId;
 		}
 
 		return null;