diff --git a/lib/workers/repository/updates/branch-name.spec.ts b/lib/workers/repository/updates/branch-name.spec.ts
index 85d56a9a24d04cc0b93c59b3cc59546c39fe4145..1b0be93afcffeb43648ece0020331c8ddc66bc6e 100644
--- a/lib/workers/repository/updates/branch-name.spec.ts
+++ b/lib/workers/repository/updates/branch-name.spec.ts
@@ -32,6 +32,7 @@ describe('workers/repository/updates/branch-name', () => {
         groupSlug: 'some group slug',
         updateType: 'major',
         separateMajorMinor: true,
+        separateMultipleMajor: true,
         newMajor: 2,
         group: {
           branchName: '{{groupSlug}}-{{branchTopic}}',
@@ -41,6 +42,22 @@ describe('workers/repository/updates/branch-name', () => {
       generateBranchName(upgrade);
       expect(upgrade.branchName).toEqual('major-2-some-group-slug-grouptopic');
     });
+    it('uses single major with groups', () => {
+      const upgrade: RenovateConfig = {
+        groupName: 'some group name',
+        groupSlug: 'some group slug',
+        updateType: 'major',
+        separateMajorMinor: true,
+        separateMultipleMajor: false,
+        newMajor: 2,
+        group: {
+          branchName: '{{groupSlug}}-{{branchTopic}}',
+          branchTopic: 'grouptopic',
+        },
+      };
+      generateBranchName(upgrade);
+      expect(upgrade.branchName).toEqual('major-some-group-slug-grouptopic');
+    });
     it('separates patch groups and uses update topic', () => {
       const upgrade: RenovateConfig = {
         branchName: 'update-branch-{{groupSlug}}-{{branchTopic}}',
diff --git a/lib/workers/repository/updates/branch-name.ts b/lib/workers/repository/updates/branch-name.ts
index 10287a4c2cc29a1994c70ba7af71f3f6a3296dde..fec7fb4be14320a0c7b17e4793fdfcdee64c4b9a 100644
--- a/lib/workers/repository/updates/branch-name.ts
+++ b/lib/workers/repository/updates/branch-name.ts
@@ -31,7 +31,11 @@ export function generateBranchName(update: RenovateConfig): void {
       lower: true,
     });
     if (update.updateType === 'major' && update.separateMajorMinor) {
-      update.groupSlug = `major-${update.newMajor}-${update.groupSlug}`;
+      if (update.separateMultipleMajor) {
+        update.groupSlug = `major-${update.newMajor}-${update.groupSlug}`;
+      } else {
+        update.groupSlug = `major-${update.groupSlug}`;
+      }
     }
     if (update.updateType === 'patch') {
       update.groupSlug = `patch-${update.groupSlug}`;