diff --git a/lib/platform/github/index.js b/lib/platform/github/index.js
index cc72538a07f9913397f3d52d0406c97f8d01227d..8ae4bc5270486343d93efc540b8245cf540adb48 100644
--- a/lib/platform/github/index.js
+++ b/lib/platform/github/index.js
@@ -766,8 +766,8 @@ async function getPr(prNo) {
   // Harmonise PR values
   pr.displayNumber = `Pull Request #${pr.number}`;
   if (pr.state === 'open') {
-    if (pr.mergeable_state === 'dirty') {
-      logger.debug(`PR mergeable state is dirty`);
+    if (!pr.mergeable || pr.mergeable_state === 'dirty') {
+      logger.debug(`PR is not mergeable`);
       pr.isUnmergeable = true;
     }
     if (pr.commits === 1) {
diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index 6c49115cbb627075106890644ae0a932be730d45..cccab2c7ce6b8de5b8f174194f5596b0a44b7152 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -335,7 +335,7 @@ async function checkAutoMerge(pr, config) {
   if (config.automerge) {
     logger.info('PR is configured for automerge');
     // Return if PR not ready for automerge
-    if (pr.mergeable !== true) {
+    if (pr.isUnmergeable) {
       logger.info('PR is not mergeable');
       logger.debug({ pr });
       return false;
diff --git a/test/platform/github/__snapshots__/index.spec.js.snap b/test/platform/github/__snapshots__/index.spec.js.snap
index 8ac0e423951ebe0b24f6d243ad1769d41b4369ef..a4ae36f63239f57e05f7ed70dba92efc2bff0fd9 100644
--- a/test/platform/github/__snapshots__/index.spec.js.snap
+++ b/test/platform/github/__snapshots__/index.spec.js.snap
@@ -435,6 +435,7 @@ Object {
     "sha": "1234",
   },
   "displayNumber": "Pull Request #1",
+  "mergeable": true,
   "number": 1,
   "state": "closed",
 }
@@ -464,6 +465,7 @@ Object {
   "commits": 1,
   "displayNumber": "Pull Request #1",
   "isStale": true,
+  "mergeable": true,
   "number": 1,
   "state": "open",
 }
diff --git a/test/platform/github/index.spec.js b/test/platform/github/index.spec.js
index f91dee47a35d6600957060289e03d0e2aed622f5..7b840d9568c82a78a55915c4f5cf51401cda6950 100644
--- a/test/platform/github/index.spec.js
+++ b/test/platform/github/index.spec.js
@@ -1164,7 +1164,7 @@ describe('platform/github', () => {
       expect(pr).toBe(null);
     });
     [
-      { number: 1, state: 'closed', base: { sha: '1234' } },
+      { number: 1, state: 'closed', base: { sha: '1234' }, mergeable: true },
       {
         number: 1,
         state: 'open',
@@ -1172,7 +1172,13 @@ describe('platform/github', () => {
         base: { sha: '1234' },
         commits: 1,
       },
-      { number: 1, state: 'open', base: { sha: '5678' }, commits: 1 },
+      {
+        number: 1,
+        state: 'open',
+        base: { sha: '5678' },
+        commits: 1,
+        mergeable: true,
+      },
     ].forEach((body, i) => {
       it(`should return a PR object - ${i}`, async () => {
         await initRepo({ repository: 'some/repo', token: 'token' });
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index 8f6c684d323046c51e74d397992be83479bd0662..076221c84833ba479daf20afe51e3a19e94c86df 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -48,7 +48,6 @@ describe('workers/pr', () => {
     it('should automerge if enabled and pr is mergeable', async () => {
       config.automerge = true;
       pr.canRebase = true;
-      pr.mergeable = true;
       platform.getBranchStatus.mockReturnValueOnce('success');
       await prWorker.checkAutoMerge(pr, config);
       expect(platform.mergePr.mock.calls.length).toBe(1);
@@ -56,28 +55,25 @@ describe('workers/pr', () => {
     it('should not automerge if enabled and pr is mergeable but cannot rebase', async () => {
       config.automerge = true;
       pr.canRebase = false;
-      pr.mergeable = true;
       platform.getBranchStatus.mockReturnValueOnce('success');
       await prWorker.checkAutoMerge(pr, config);
       expect(platform.mergePr.mock.calls.length).toBe(0);
     });
     it('should not automerge if enabled and pr is mergeable but branch status is not success', async () => {
       config.automerge = true;
-      pr.mergeable = true;
       platform.getBranchStatus.mockReturnValueOnce('pending');
       await prWorker.checkAutoMerge(pr, config);
       expect(platform.mergePr.mock.calls.length).toBe(0);
     });
     it('should not automerge if enabled and pr is mergeable but unstable', async () => {
       config.automerge = true;
-      pr.mergeable = true;
       pr.mergeable_state = 'unstable';
       await prWorker.checkAutoMerge(pr, config);
       expect(platform.mergePr.mock.calls.length).toBe(0);
     });
     it('should not automerge if enabled and pr is unmergeable', async () => {
       config.automerge = true;
-      pr.mergeable = false;
+      pr.isUnmergeable = true;
       await prWorker.checkAutoMerge(pr, config);
       expect(platform.mergePr.mock.calls.length).toBe(0);
     });