diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js
index 1b1f14607ac6fa752ce5ff9e7d9c538483449b61..3686f8790e19a09b40f3a73e0953dedb3f255b2c 100644
--- a/lib/workers/repository/updates/generate.js
+++ b/lib/workers/repository/updates/generate.js
@@ -3,7 +3,7 @@ const semver = require('semver');
 const { mergeChildConfig } = require('../../../config');
 
 function generateBranchConfig(branchUpgrades) {
-  logger.debug(`generateBranchConfig()`);
+  logger.debug({ length: branchUpgrades.length }, `generateBranchConfig()`);
   logger.trace({ config: branchUpgrades });
   const config = {
     upgrades: [],
@@ -39,7 +39,15 @@ function generateBranchConfig(branchUpgrades) {
     // Delete group config regardless of whether it was applied
     delete upgrade.group;
     delete upgrade.lazyGrouping;
-    if (newVersion.length > 1) {
+    const isTypesGroup =
+      depNames.length === 2 &&
+      !hasGroupName &&
+      ((branchUpgrades[0].depName.startsWith('@types/') &&
+        branchUpgrades[0].depName.endsWith(branchUpgrades[1].depName)) ||
+        (branchUpgrades[1].depName.startsWith('@types/') &&
+          branchUpgrades[1].depName.endsWith(branchUpgrades[0].depName)));
+    if (newVersion.length > 1 && !isTypesGroup) {
+      logger.debug({ newVersion });
       delete upgrade.commitMessageExtra;
       upgrade.recreateClosed = true;
     } else if (semver.valid(newVersion[0])) {
@@ -81,6 +89,7 @@ function generateBranchConfig(branchUpgrades) {
         upgrade.commitBody
       )(upgrade)}`;
     }
+    logger.debug(`commitMessage: ` + JSON.stringify(upgrade.commitMessage));
     if (upgrade.prTitle) {
       upgrade.prTitle = handlebars.compile(upgrade.prTitle)(upgrade);
       upgrade.prTitle = handlebars.compile(upgrade.prTitle)(upgrade);
@@ -98,7 +107,7 @@ function generateBranchConfig(branchUpgrades) {
       upgrade.baseBranches && upgrade.baseBranches.length > 1
         ? ' ({{baseBranch}})'
         : '';
-
+    logger.debug(`prTitle: ` + JSON.stringify(upgrade.prTitle));
     // Compile again to allow for nested handlebars templates
     upgrade.prTitle = handlebars.compile(upgrade.prTitle)(upgrade);
     logger.debug(`${upgrade.branchName}, ${upgrade.prTitle}`);