diff --git a/lib/private/connector/sabre/server.php b/lib/private/connector/sabre/server.php
index aaf4fe85af956eaea8d286ee9a1f5c66592d5cd7..43c3464f1caac04035e7bfffc83097ef3003d1a4 100644
--- a/lib/private/connector/sabre/server.php
+++ b/lib/private/connector/sabre/server.php
@@ -33,6 +33,11 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
 	 */
 	private $overLoadedUri = null;
 
+	/**
+	 * @var boolean
+	 */
+	private $ignoreRangeHeader = false;
+
 	public function getRequestUri() {
 
 		if (!is_null($this->overLoadedUri)) {
@@ -59,6 +64,23 @@ class OC_Connector_Sabre_Server extends Sabre\DAV\Server {
 		return $result;
 	}
 
+	public function getHTTPRange() {
+		if ($this->ignoreRangeHeader) {
+			return null;
+		}
+		return parent::getHTTPRange();
+	}
+
+	protected function httpGet($uri) {
+		$range = $this->getHTTPRange();
+
+		if (OC_App::isEnabled('files_encryption') && $range) {
+			// encryption does not support range requests
+			$this->ignoreRangeHeader = true;	
+		}
+		return parent::httpGet($uri);
+	}
+
 	/**
 	 * @see \Sabre\DAV\Server
 	 */