diff --git a/lib/workers/repository/updates/flatten.spec.ts b/lib/workers/repository/updates/flatten.spec.ts
index 7e3c2656b03ae356faa4add3e8ad61d368aa7b7a..50f242e71fbdedf70c26829567c61f50a00a011f 100644
--- a/lib/workers/repository/updates/flatten.spec.ts
+++ b/lib/workers/repository/updates/flatten.spec.ts
@@ -1,6 +1,8 @@
 import { RenovateConfig, getConfig } from '../../../../test/util';
 import { flattenUpdates } from './flatten';
 
+jest.mock('../../../util/git/semantic');
+
 let config: RenovateConfig;
 
 beforeEach(() => {
diff --git a/lib/workers/repository/updates/flatten.ts b/lib/workers/repository/updates/flatten.ts
index 3d04c3de93b6da80308fb5168775a7908bc53865..0bbde1440b48f449b42e49aad4b143bebfd1f613 100644
--- a/lib/workers/repository/updates/flatten.ts
+++ b/lib/workers/repository/updates/flatten.ts
@@ -6,6 +6,7 @@ import {
 import type { RenovateConfig } from '../../../config/types';
 import { getDefaultConfig } from '../../../modules/datasource';
 import { get } from '../../../modules/manager';
+import { detectSemanticCommits } from '../../../util/git/semantic';
 import { applyPackageRules } from '../../../util/package-rules';
 import { regEx } from '../../../util/regex';
 import { parseUrl } from '../../../util/url';
@@ -187,6 +188,12 @@ export async function flattenUpdates(
       }
     }
   }
+  if (config.semanticCommits === 'auto') {
+    const semanticCommits = await detectSemanticCommits();
+    for (const update of updates) {
+      update.semanticCommits = semanticCommits;
+    }
+  }
   return updates
     .filter((update) => update.enabled)
     .map(({ vulnerabilityAlerts, ...update }) => update)