diff --git a/Classes/Domain/Repository/JobRepository.php b/Classes/Domain/Repository/JobRepository.php
index b308d010f213f66620e21fbad39c35b6f51b7f3e..67c863a8613d2f949ba65b50348dbf0be182ad26 100644
--- a/Classes/Domain/Repository/JobRepository.php
+++ b/Classes/Domain/Repository/JobRepository.php
@@ -278,11 +278,7 @@ class JobRepository extends Repository {
 		// the minimum amount of related jobs, we should try to find before removing constraints
 		$minRelatedJobs = 2;
 		$relatedJobs = [];
-		$query = $this->prepareRelatedJobsQuery($job, 0);
-
-		if ($limit > 0) {
-			$query->setLimit($limit);
-		}
+		$query = $this->prepareRelatedJobsQuery($job, 0, $limit);
 
 		$resultCount = $query->count();
 
@@ -290,13 +286,13 @@ class JobRepository extends Repository {
 		if ($resultCount < $minRelatedJobs) {
 			$queryResult = $query->execute()->toArray();
 			array_push($relatedJobs, ...$queryResult);
-			$query = $this->prepareRelatedJobsQuery($job, 1);
+			$query = $this->prepareRelatedJobsQuery($job, 1, $limit);
 			$queryResult = $query->execute()->toArray();
 			array_push($relatedJobs, ...$queryResult);
 			$relatedJobs = array_unique($relatedJobs);
 			$relatedJobsCount = count($relatedJobs);
 			if ($relatedJobsCount < $minRelatedJobs) {
-				$query = $this->prepareRelatedJobsQuery($job, 2);
+				$query = $this->prepareRelatedJobsQuery($job, 2, $limit);
 				$queryResult = $query->execute()->toArray();
 				array_push($relatedJobs, ...$queryResult);
 				$relatedJobs = array_unique($relatedJobs);
@@ -313,10 +309,11 @@ class JobRepository extends Repository {
 	 * Returns a query, to be used within findRelated()
 	 *
 	 * @param Job $job
-	 * @param int $iteration
+	 * @param int $iteration used different conditions based on the iteration step
+	 * @param int $limit
 	 * @return QueryInterface
 	 */
-	protected function prepareRelatedJobsQuery(Job $job, int $iteration): QueryInterface {
+	protected function prepareRelatedJobsQuery(Job $job, int $iteration, $limit = 0): QueryInterface {
 		$query = $this->createQuery();
 		$constraints = [];
 		$storagePageIds = $query->getQuerySettings()->getStoragePageIds();
@@ -327,6 +324,10 @@ class JobRepository extends Repository {
 		$company = $job->getCompany();
 		$department = $job->getDepartment();
 
+		if ($limit > 0) {
+			$query->setLimit($limit);
+		}
+
 		// look for jobs, which have the same company AND department
 		if ($iteration === 0) {
 			if ($company !== NULL) {
@@ -336,10 +337,10 @@ class JobRepository extends Repository {
 			if ($department !== NULL) {
 				$constraints[] = $query->equals('department', $department->getUid());
 			}
-		} else if (($iteration === 1) && $company !== NULL) {
+		} elseif (($iteration === 1) && $company !== NULL) {
 			// look for jobs, which have the same company
 			$constraints[] = $query->equals('company', $company->getUid());
-		} else if (($iteration === 2) && $department !== NULL) {
+		} elseif (($iteration === 2) && $department !== NULL) {
 			// look for jobs, which have the same department
 			$constraints[] = $query->equals('department', $department->getUid());
 		}