diff --git a/lib/workers/branch/status-checks.js b/lib/workers/branch/status-checks.js
index d5d931a1b07515ed5d96d1bce16b0d3825ccd666..4e0a7316d71f5efc9e1c20a5767808f1e488a77e 100644
--- a/lib/workers/branch/status-checks.js
+++ b/lib/workers/branch/status-checks.js
@@ -6,17 +6,14 @@ async function setUnpublishable(config) {
   if (!config.unpublishSafe) {
     return;
   }
-  const canBeUnpublished = config.upgrades.some(
-    upgrade => upgrade.canBeUnpublished
-  );
   const context = 'renovate/unpublish-safe';
   const existingState = await platform.getBranchStatusCheck(
     config.branchName,
     context
   );
   // Set canBeUnpublished status check
-  const state = canBeUnpublished ? 'pending' : 'success';
-  const description = canBeUnpublished
+  const state = config.canBeUnpublished ? 'pending' : 'success';
+  const description = config.canBeUnpublished
     ? 'Packages < 24 hours old can be unpublished'
     : 'Packages cannot be unpublished';
   // Check if state needs setting
diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js
index 7e0b073c50951e3742b9d8cfcbf671a0923fa55b..b37ab0d161e07da406e88dfed1421112deb8a276 100644
--- a/lib/workers/repository/updates/generate.js
+++ b/lib/workers/repository/updates/generate.js
@@ -6,7 +6,7 @@ const { DateTime } = require('luxon');
 function generateBranchConfig(branchUpgrades) {
   logger.debug(`generateBranchConfig(${branchUpgrades.length})`);
   logger.trace({ config: branchUpgrades });
-  const config = {
+  let config = {
     upgrades: [],
   };
   const hasGroupName = branchUpgrades[0].groupName !== null;
@@ -136,7 +136,12 @@ function generateBranchConfig(branchUpgrades) {
     config.hasTypes = true;
   }
   // Now assign first upgrade's config as branch config
-  return { ...config, ...config.upgrades[0], releaseTimestamp };
+  config = { ...config, ...config.upgrades[0], releaseTimestamp };
+  config.canBeUnpublished = config.upgrades.some(
+    upgrade => upgrade.canBeUnpublished
+  );
+  config.automerge = config.upgrades.every(upgrade => upgrade.automerge);
+  return config;
 }
 
 module.exports = {
diff --git a/test/workers/branch/status-checks.spec.js b/test/workers/branch/status-checks.spec.js
index 28c1d21432138f914e7ee84266c05fa48c51e3e9..f2926d73e8b0b4e00f826bb17995b84fa05a3d95 100644
--- a/test/workers/branch/status-checks.spec.js
+++ b/test/workers/branch/status-checks.spec.js
@@ -9,7 +9,6 @@ describe('workers/branch/status-checks', () => {
     beforeEach(() => {
       config = {
         ...defaultConfig,
-        upgrades: [],
       };
     });
     afterEach(() => {
@@ -26,21 +25,15 @@ describe('workers/branch/status-checks', () => {
       expect(platform.setBranchStatus.mock.calls.length).toBe(1);
     });
     it('finds canBeUnpublished false and sets status', async () => {
+      config.canBeUnpublished = true;
       config.unpublishSafe = true;
-      config.upgrades = [
-        { canBeUnpublished: true },
-        { canBeUnpublished: false },
-      ];
       await setUnpublishable(config);
       expect(platform.getBranchStatusCheck.mock.calls.length).toBe(1);
       expect(platform.setBranchStatus.mock.calls.length).toBe(1);
     });
     it('finds canBeUnpublished false and skips status', async () => {
       config.unpublishSafe = true;
-      config.upgrades = [
-        { canBeUnpublished: false },
-        { canBeUnpublished: false },
-      ];
+      config.canBeUnpublished = false;
       platform.getBranchStatusCheck.mockReturnValueOnce('success');
       await setUnpublishable(config);
       expect(platform.getBranchStatusCheck.mock.calls.length).toBe(1);
diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js
index 3145e22bf92f1d62414b34a1f53df86fc6602803..4ddd203157454da1d2ba00d3363e9ff3a061ffff 100644
--- a/test/workers/repository/updates/generate.spec.js
+++ b/test/workers/repository/updates/generate.spec.js
@@ -93,6 +93,8 @@ describe('workers/repository/updates/generate', () => {
             foo: 2,
           },
           releaseTimestamp: '2017-02-07T20:01:41+00:00',
+          canBeUnpublished: false,
+          automerge: true,
         },
         {
           depName: 'some-other-dep',
@@ -108,12 +110,16 @@ describe('workers/repository/updates/generate', () => {
             foo: 2,
           },
           releaseTimestamp: '2017-02-06T20:01:41+00:00',
+          canBeUnpublished: true,
+          automerge: false,
         },
       ];
       const res = generateBranchConfig(branch);
       expect(res.foo).toBe(2);
       expect(res.groupName).toBeDefined();
       expect(res.releaseTimestamp).toEqual('2017-02-07T20:01:41+00:00');
+      expect(res.canBeUnpublished).toBe(true);
+      expect(res.automerge).toBe(false);
     });
     it('groups multiple upgrades different version', () => {
       const branch = [