diff --git a/Classes/Domain/Repository/JobRepository.php b/Classes/Domain/Repository/JobRepository.php
index 67c863a8613d2f949ba65b50348dbf0be182ad26..5f5b0b8370cbe6ea0afc0c8829995b19b4d210e4 100644
--- a/Classes/Domain/Repository/JobRepository.php
+++ b/Classes/Domain/Repository/JobRepository.php
@@ -286,13 +286,13 @@ class JobRepository extends Repository {
 		if ($resultCount < $minRelatedJobs) {
 			$queryResult = $query->execute()->toArray();
 			array_push($relatedJobs, ...$queryResult);
-			$query = $this->prepareRelatedJobsQuery($job, 1, $limit);
+			$query = $this->prepareRelatedJobsQuery($job, 1, $limit - $resultCount);
 			$queryResult = $query->execute()->toArray();
 			array_push($relatedJobs, ...$queryResult);
 			$relatedJobs = array_unique($relatedJobs);
 			$relatedJobsCount = count($relatedJobs);
 			if ($relatedJobsCount < $minRelatedJobs) {
-				$query = $this->prepareRelatedJobsQuery($job, 2, $limit);
+				$query = $this->prepareRelatedJobsQuery($job, 2, $limit - $relatedJobsCount);
 				$queryResult = $query->execute()->toArray();
 				array_push($relatedJobs, ...$queryResult);
 				$relatedJobs = array_unique($relatedJobs);
@@ -313,7 +313,7 @@ class JobRepository extends Repository {
 	 * @param int $limit
 	 * @return QueryInterface
 	 */
-	protected function prepareRelatedJobsQuery(Job $job, int $iteration, $limit = 0): QueryInterface {
+	protected function prepareRelatedJobsQuery(Job $job, int $iteration, int $limit = 0): QueryInterface {
 		$query = $this->createQuery();
 		$constraints = [];
 		$storagePageIds = $query->getQuerySettings()->getStoragePageIds();