diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index 7bda7b58e1f65508d03617121b5a2a6803cc325e..e924a01e4cd4a676464ce76a4e943db17110b4f6 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -120,18 +120,22 @@ class OverviewController extends AbstractController {
 	 * @param array $newsByCategory
 	 * @param array $allNews
 	 * @param array $newsFilter
+	 * @param boolean $isInitialCall
 	 * @return void
 	 * @throws \InvalidArgumentException
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 */
-	protected function overviewWithCategories(array $newsByCategory = [], array $allNews = [], array $newsFilter = []) {
+	protected function overviewWithCategories(
+		array $newsByCategory = [], array $allNews = [], array $newsFilter = [], $isInitialCall = TRUE
+	) {
 		$newsLimitPerCategory = (int) $this->settings['newsLimit'];
 		$this->categoryRepository->setDefaultOrderings(['sorting' => Query::ORDER_ASCENDING]);
 
 		$offset = 0;
+
 		$currentPageBrowserPage = (int) GeneralUtility::_GP('tx_sgnews_pagebrowser')['currentPage'];
 		if ($currentPageBrowserPage && $newsLimitPerCategory) {
-			$offset = $currentPageBrowserPage * $newsLimitPerCategory;
+			$offset = ($currentPageBrowserPage * $newsLimitPerCategory) - ($isInitialCall ? 0 : 1);
 		}
 
 		if ($this->settings['onlyNewsWithinThisPageSection']) {
@@ -230,7 +234,7 @@ class OverviewController extends AbstractController {
 			$nextPage = $currentPageBrowserPage + 1;
 			if ($nextPage <= $numberOfPages) {
 				GeneralUtility::_GETset(['tx_sgnews_pagebrowser' => ['currentPage' => $nextPage]]);
-				$this->overviewWithCategories($newsByCategory, $allNews, $newsFilter);
+				$this->overviewWithCategories($newsByCategory, $allNews, $newsFilter, FALSE);
 				return;
 			}
 		}
@@ -262,18 +266,21 @@ class OverviewController extends AbstractController {
 	 * @param array $newsByTag
 	 * @param array $allNews
 	 * @param array $newsFilter
+	 * @param boolean $isInitialCall
 	 * @return void
 	 * @throws \InvalidArgumentException
 	 * @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
 	 */
-	protected function overviewWithTags(array $newsByTag = [], array $allNews = [], array $newsFilter = []) {
+	protected function overviewWithTags(
+		array $newsByTag = [], array $allNews = [], array $newsFilter = [], $isInitialCall = TRUE
+	) {
 		$newsLimitPerTag = (int) $this->settings['newsLimit'];
 		$this->tagRepository->setDefaultOrderings(['sorting' => Query::ORDER_ASCENDING]);
 
 		$offset = 0;
 		$currentPageBrowserPage = (int) GeneralUtility::_GP('tx_sgnews_pagebrowser')['currentPage'];
 		if ($currentPageBrowserPage && $newsLimitPerTag) {
-			$offset = $currentPageBrowserPage * $newsLimitPerTag;
+			$offset = ($currentPageBrowserPage * $newsLimitPerTag) - ($isInitialCall ? 0 : 1);
 		}
 
 		$tagPid = (int) $this->settings['tagPid'];
@@ -381,7 +388,7 @@ class OverviewController extends AbstractController {
 			$nextPage = $currentPageBrowserPage + 1;
 			if ($nextPage <= $numberOfPages) {
 				GeneralUtility::_GETset(['tx_sgnews_pagebrowser' => ['currentPage' => $nextPage]]);
-				$this->overviewWithTags($newsByTag, $allNews, $newsFilter);
+				$this->overviewWithTags($newsByTag, $allNews, $newsFilter, FALSE);
 				return;
 			}
 		}