diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts
index b3e48d68e0e46cad9c335714f0587eecce3dc27c..5e3417ac5f2dbe5cbfd2f5bc0c5109c35e46c77c 100644
--- a/lib/workers/repository/updates/generate.spec.ts
+++ b/lib/workers/repository/updates/generate.spec.ts
@@ -190,6 +190,40 @@ describe('workers/repository/updates/generate', () => {
       });
     });
 
+    it('groups major updates with different versions but same newValue, no recreateClosed', () => {
+      const branch = [
+        {
+          depName: 'some-dep',
+          groupName: 'some-group',
+          branchName: 'some-branch',
+          prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
+          foo: 1,
+          newValue: '5.1.2',
+          newVersion: '5.1.2',
+          isMajor: true,
+          newMajor: 5,
+        },
+        {
+          depName: 'some-other-dep',
+          groupName: 'some-group',
+          branchName: 'some-branch',
+          prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
+          foo: 1,
+          newValue: '5.2.0',
+          newVersion: '5.2.0',
+          isMajor: true,
+          newMajor: 5,
+        },
+      ];
+      const res = generateBranchConfig(branch);
+      expect(res.groupName).toBeDefined();
+      expect(res.recreateClosed).toBeFalsy();
+    });
+
     it('groups multiple upgrades different version', () => {
       const branch = [
         {
diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts
index 0d197c8ea07e291daa5aada891c7e515753da438..f3df4f73124313e503d41289d04ef7ce885deff3 100644
--- a/lib/workers/repository/updates/generate.ts
+++ b/lib/workers/repository/updates/generate.ts
@@ -149,7 +149,12 @@ export function generateBranchConfig(
     delete upgrade.group;
 
     // istanbul ignore else
-    if (toVersions.length > 1 && toValues.size > 1 && !typesGroup) {
+    if (
+      toVersions.length > 1 &&
+      toValues.size > 1 &&
+      newValue.length > 1 &&
+      !typesGroup
+    ) {
       logger.trace({ toVersions });
       logger.trace({ toValues });
       delete upgrade.commitMessageExtra;