diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php
index a72015793668c9716f8998a68506db7a9014b835..b210602bbf48f2a5cfd1697af349fec0713c94c0 100644
--- a/lib/connector/sabre/directory.php
+++ b/lib/connector/sabre/directory.php
@@ -138,7 +138,9 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
 					$propertypath = $row['propertypath'];
 					$propertyname = $row['propertyname'];
 					$propertyvalue = $row['propertyvalue'];
-					$properties[$propertypath][$propertyname] = $propertyvalue;
+					if($propertyname !== self::GETETAG_PROPERTYNAME) {
+						$properties[$propertypath][$propertyname] = $propertyvalue;
+					}
 				}
 			}
 		}
diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php
index b48d3b41f2461cf3532da6415ed44770291dbab2..52995630211fe2a9c012420ecbef320af8697397 100644
--- a/lib/connector/sabre/node.php
+++ b/lib/connector/sabre/node.php
@@ -154,7 +154,9 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
 				}
 			}
 			else {
-				if( strcmp( $propertyName, self::LASTMODIFIED_PROPERTYNAME) === 0 ) {
+				if( strcmp( $propertyName, self::GETETAG_PROPERTYNAME) === 0 ) {
+					\OC\Files\Filesystem::putFileInfo($this->path, array('etag'=> $propertyValue));
+				} elseif( strcmp( $propertyName, self::LASTMODIFIED_PROPERTYNAME) === 0 ) {
 					$this->touch($propertyValue);
 				} else {
 					if(!array_key_exists( $propertyName, $existing )) {