diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index 1bee09e36590dd1941028e0d39a1e63d9319005f..ed7d6c26318bab32ff1411c38e5c101027e8a779 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -456,7 +456,7 @@ class View {
 				// forward file handle via chunked fread because fseek seem to have failed
 
 				$end = $from + 1;
-				while (!feof($handle) && ftell($handle) < $end) {
+				while (!feof($handle) && ftell($handle) < $end && ftell($handle) !== $from) {
 					$len = $from - ftell($handle);
 					if ($len > $chunkSize) {
 						$len = $chunkSize;