diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php
index cb5a02581b5dc60313ce97cb03835878be26cb30..2b896a0cf67481cf28753ed8353344c51acfaae0 100644
--- a/apps/files_versions/lib/Storage.php
+++ b/apps/files_versions/lib/Storage.php
@@ -641,6 +641,11 @@ class Storage {
 		}
 
 		$firstVersion = reset($versions);
+
+		if ($firstVersion === false) {
+			return [$toDelete, $size];
+		}
+
 		$firstKey = key($versions);
 		$prevTimestamp = $firstVersion['version'];
 		$nextVersion = $firstVersion['version'] - $step;
diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php
index 264295743645ae9385fec8931124975819016f5d..b6d317ea25e66e549f2ed6bd08f1306482d68fd1 100644
--- a/apps/files_versions/tests/VersioningTest.php
+++ b/apps/files_versions/tests/VersioningTest.php
@@ -274,6 +274,11 @@ class VersioningTest extends \Test\TestCase {
 				],
 				9 // size of all deleted files (every file has the size 1)
 			],
+			// fourth set of versions: empty (see issue #19066)
+			[
+				[],
+				0
+			]
 
 		];
 	}