diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index 3dd0c5985e602b8058a081f6b9400f6e46b2cf6e..328ed4305f4ce3f53fec6e2a451edc5b28c32885 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -264,7 +264,7 @@ class Storage {
 	 * @param string $uid user id from the owner of the file
 	 * @param string $filename file to find versions of, relative to the user files dir
 	 * @param string $userFullPath
-	 * @returns array
+	 * @returns array versions newest version first
 	 */
 	public static function getVersions($uid, $filename, $userFullPath = '') {
 		$versions = array();
@@ -397,7 +397,8 @@ class Storage {
 			}
 		}
 
-		ksort($versions);
+		// newest version first
+		krsort($versions);
 
 		$result = array();
 
@@ -428,8 +429,6 @@ class Storage {
 		$size = 0;
 		$toDelete = array();  // versions we want to delete
 
-		$versions = array_reverse($versions); // newest version first
-
 		$interval = 1;
 		$step = Storage::$max_versions_per_interval[$interval]['step'];
 		if (Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1) {
diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php
index 713f7796c9bde9505367aa6d029eead942e7db67..25490aa1a0433fcfccb71d3aa753dd173b84425a 100644
--- a/apps/files_versions/tests/versions.php
+++ b/apps/files_versions/tests/versions.php
@@ -40,7 +40,7 @@ class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
 		$startTime = 5000000;
 
 		$testClass = new VersionStorageToTest();
-		list($deleted, $size) = $testClass->callProtectedGetExpireList($startTime, array_reverse($versions));
+		list($deleted, $size) = $testClass->callProtectedGetExpireList($startTime, $versions);
 
 		// we should have deleted 16 files each of the size 1
 		$this->assertEquals($sizeOfAllDeletedFiles, $size);