diff --git a/typo3/sysext/frontend/Classes/ContentObject/FilesContentObject.php b/typo3/sysext/frontend/Classes/ContentObject/FilesContentObject.php
index ae10a83397e75d2f4a64a890f17008f41745e97e..2b2f362c00bee32569c56741faf5cb019f3f3f5a 100644
--- a/typo3/sysext/frontend/Classes/ContentObject/FilesContentObject.php
+++ b/typo3/sysext/frontend/Classes/ContentObject/FilesContentObject.php
@@ -28,6 +28,7 @@ namespace TYPO3\CMS\Frontend\ContentObject;
  ***************************************************************/
 
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\MathUtility;
 
 /**
  * Contains FILES content object
@@ -156,9 +157,34 @@ class FilesContentObject extends \TYPO3\CMS\Frontend\ContentObject\AbstractConte
 			});
 		}
 
-		$GLOBALS['TSFE']->register['FILES_COUNT'] = count($fileObjects);
+		$availableFileObjectCount = count($fileObjects);
+
+		$start = 0;
+		if (array_key_exists('begin', $conf)) {
+			$start = intval($conf['begin']);
+		}
+		if (array_key_exists('begin.', $conf)) {
+			$start = intval($this->cObj->stdWrap($start, $conf['begin.']));
+		}
+		$start = MathUtility::forceIntegerInRange($start, 0, $availableFileObjectCount);
+
+		$limit = $availableFileObjectCount;
+		if (array_key_exists('maxItems', $conf)) {
+			$limit = intval($conf['maxItems']);
+		}
+		if (array_key_exists('maxItems.', $conf)) {
+			$limit = intval($this->cObj->stdWrap($limit, $conf['maxItems.']));
+		}
+
+		$end = MathUtility::forceIntegerInRange($start + $limit, 0, $availableFileObjectCount);
+
+		$GLOBALS['TSFE']->register['FILES_COUNT'] = $limit < $availableFileObjectCount ? $limit : $availableFileObjectCount;
 		$fileObjectCounter = 0;
-		foreach ($fileObjects as $key => $fileObject) {
+		$keys = array_keys($fileObjects);
+		for ($i = $start; $i < $end; $i++) {
+			$key = $keys[$i];
+			$fileObject = $fileObjects[$key];
+
 			$GLOBALS['TSFE']->register['FILE_NUM_CURRENT'] = $fileObjectCounter;
 			$this->cObj->setCurrentFile($fileObject);
 			$content .= $this->cObj->cObjGetSingle($splitConf[$key]['renderObj'], $splitConf[$key]['renderObj.']);