diff --git a/docs/api/api/patchinfo.rng b/docs/api/api/patchinfo.rng
index 47a97c98fb8..b8060450d1b 100644
--- a/docs/api/api/patchinfo.rng
+++ b/docs/api/api/patchinfo.rng
@@ -75,7 +75,12 @@
-
+
+
+
+
+
+
diff --git a/src/backend/BSSched/BuildJob/Patchinfo.pm b/src/backend/BSSched/BuildJob/Patchinfo.pm
index 7cb5d50ec27..7b651d94d7a 100644
--- a/src/backend/BSSched/BuildJob/Patchinfo.pm
+++ b/src/backend/BSSched/BuildJob/Patchinfo.pm
@@ -110,10 +110,14 @@ sub check {
my $myarch = $gctx->{'arch'};
my @archs = @{$repo->{'arch'}};
return ('broken', 'missing archs') unless @archs; # can't happen
- my $buildarch = $archs[0]; # always build in first arch
+ my $patchinfo = $pdata->{'patchinfo'};
+ if (exists $patchinfo->{'seperate_build_arch'}) {
+ # build on all schedulers, but don't take content from each other
+ @archs = ($myarch);
+ };
+ my $buildarch = $archs[0];
my $reporoot = $gctx->{'reporoot'};
my $markerdir = "$reporoot/$prp/$buildarch/$packid";
- my $patchinfo = $pdata->{'patchinfo'};
my $projpacks = $gctx->{'projpacks'};
my $proj = $projpacks->{$projid} || {};
diff --git a/src/backend/BSXML.pm b/src/backend/BSXML.pm
index 0698ba455ff..dab57db1fd2 100644
--- a/src/backend/BSXML.pm
+++ b/src/backend/BSXML.pm
@@ -268,6 +268,7 @@ our $patchinfo = [
'packager',
'retracted',
'stopped',
+ 'seperate_build_arch', # for builds on each scheduler arch
'zypp_restart_needed',
'reboot_needed',
'relogin_needed',