diff --git a/Classes/SignalSlot/SitemapSignalSlot.php b/Classes/SignalSlot/SitemapSignalSlot.php
index a6ce4eb1048a1665a181b8758ff63a0540375328..8b2cd4b38e2cd510174e7a9063dcb0a83cc515a1 100644
--- a/Classes/SignalSlot/SitemapSignalSlot.php
+++ b/Classes/SignalSlot/SitemapSignalSlot.php
@@ -48,9 +48,10 @@ class SitemapSignalSlot {
 	 * Before the sitemap is generated
 	 *
 	 * @param array $pageList
+	 * @param int $sysLanguageUid
 	 * @throws \TYPO3\CMS\Core\Error\Http\ServiceUnavailableException
 	 */
-	public function beforeSitemapGeneration(array &$pageList) {
+	public function beforeSitemapGeneration(array &$pageList, int $sysLanguageUid) {
 		$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
 		$request = $objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Request::class);
 		$request->setRequestUri(GeneralUtility::getIndpEnv('TYPO3_REQUEST_URL'));
@@ -65,13 +66,24 @@ class SitemapSignalSlot {
 		$this->uriBuilder->injectConfigurationManager($configurationManager);
 
 		// find sites where job detail plugin is added
-		$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages');
+		$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
+			->getQueryBuilderForTable('pages');
 		$databaseResource = $queryBuilder->select('pid', 'pages')
 			->from('tt_content')
 			->where(
 				$queryBuilder->expr()->andX(
 					$queryBuilder->expr()->eq('CType', $queryBuilder->createNamedParameter('list')),
-					$queryBuilder->expr()->eq('list_type', $queryBuilder->createNamedParameter(self::PLUGIN_NAME))
+					$queryBuilder->expr()->eq(
+						'list_type',
+						$queryBuilder->createNamedParameter(self::PLUGIN_NAME)
+					),
+					$queryBuilder->expr()->orX(
+						$queryBuilder->expr()->eq('sys_language_uid', -1),
+						$queryBuilder->expr()->eq(
+							'sys_language_uid',
+							$queryBuilder->createNamedParameter($sysLanguageUid, \PDO::PARAM_INT)
+						)
+					)
 				)
 			)
 			->execute();
@@ -79,7 +91,7 @@ class SitemapSignalSlot {
 		$rows = $databaseResource->fetchAll();
 
 		foreach ($rows as $row) {
-			$jobs = $this->getJobsByPid($row['pages']);
+			$jobs = $this->getJobsByPid($row['pages'], $sysLanguageUid);
 
 			foreach ($jobs as $job) {
 				$url = $this->uriBuilder->reset()->setTargetPageUid($row['pid'])->setArguments(
@@ -98,13 +110,26 @@ class SitemapSignalSlot {
 	 * Get all jobs stored on specific page ids
 	 *
 	 * @param string $pageList
+	 * @param int $sysLanguageUid
 	 * @return array|null
 	 */
-	private function getJobsByPid($pageList) {
-		$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages');
+	private function getJobsByPid(string $pageList, int $sysLanguageUid) {
+		$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
+			->getQueryBuilderForTable('pages');
 		$databaseResource = $queryBuilder->select('*')
 			->from('tx_sgjobs_domain_model_job')
-			->where($queryBuilder->expr()->in('pid', $queryBuilder->createNamedParameter($pageList)))
+			->where(
+				$queryBuilder->expr()->andX(
+					$queryBuilder->expr()->in('pid', $queryBuilder->createNamedParameter($pageList)),
+					$queryBuilder->expr()->orX(
+						$queryBuilder->expr()->eq('sys_language_uid', -1),
+						$queryBuilder->expr()->eq(
+							'sys_language_uid',
+							$queryBuilder->createNamedParameter($sysLanguageUid, \PDO::PARAM_INT)
+						)
+					)
+				)
+			)
 			->execute();
 
 		return $databaseResource->fetchAll();