diff --git a/lib/platform/github/index.js b/lib/platform/github/index.js
index 8f198dc49682db6b3e3cdc63fa77267c11e01540..6cdfaf0545eaa7b7df7bcc8ded99482559e1d2ea 100644
--- a/lib/platform/github/index.js
+++ b/lib/platform/github/index.js
@@ -1061,7 +1061,7 @@ async function getOpenPrs() {
                 }
               }
               body
-              reviews(first: 100){
+              reviews(first: 1, states:[CHANGES_REQUESTED]){
                 nodes{
                   state
                 }
@@ -1091,9 +1091,10 @@ async function getOpenPrs() {
         delete pr.headRefName;
         // https://developer.github.com/v4/enum/mergeablestate
         const canMergeStates = ['BEHIND', 'CLEAN'];
+        const hasNegativeReview =
+          pr.reviews && pr.reviews.nodes && pr.reviews.nodes.length > 0;
         pr.canMerge =
-          canMergeStates.includes(pr.mergeStateStatus) &&
-          !hasNegativeReview(pr.reviews.nodes);
+          canMergeStates.includes(pr.mergeStateStatus) && !hasNegativeReview;
         // https://developer.github.com/v4/enum/mergestatestatus
         if (pr.mergeStateStatus === 'DIRTY') {
           pr.isConflicted = true;
@@ -1536,17 +1537,3 @@ async function getVulnerabilityAlerts() {
   }
   return alerts;
 }
-
-function hasNegativeReview(reviews) {
-  const negativeReviews = {};
-  for (const review of reviews) {
-    if (review.state === 'CHANGES_REQUESTED') {
-      negativeReviews[review.author.login] = review.state;
-    } else if (review.state === 'APPROVED') {
-      if (negativeReviews[review.author.login]) {
-        delete negativeReviews[review.author.login];
-      }
-    }
-  }
-  return Object.keys(negativeReviews).length > 0;
-}
diff --git a/test/_fixtures/github/graphql/pullrequest-1.json b/test/_fixtures/github/graphql/pullrequest-1.json
index b5a5b1cc9635e6bbc3e22b7f37c1e2b228523c8a..ccf390af6072578ead3431e552367fbae6170e9c 100644
--- a/test/_fixtures/github/graphql/pullrequest-1.json
+++ b/test/_fixtures/github/graphql/pullrequest-1.json
@@ -40,24 +40,6 @@
                   }
                 }
               ]
-            },
-            "reviews": {
-              "nodes": [
-                {
-                  "state": "CHANGES_REQUESTED",
-                  "author": {
-                    "login": "login"
-                  },
-                  "createdAt": "2018-12-30T15:53:22Z"
-                },
-                {
-                  "state": "APPROVED",
-                  "author": {
-                    "login": "login"
-                  },
-                  "createdAt": "2018-12-30T15:53:29Z"
-                }
-              ]
             }
           },
           {
@@ -90,17 +72,6 @@
                   }
                 }
               ]
-            },
-            "reviews": {
-              "nodes": [
-                {
-                  "state": "CHANGES_REQUESTED",
-                  "author": {
-                    "login": "login"
-                  },
-                  "createdAt": "2018-12-30T15:53:22Z"
-                }
-              ]
             }
           },
           {
diff --git a/test/platform/github/__snapshots__/index.spec.js.snap b/test/platform/github/__snapshots__/index.spec.js.snap
index 90665c1b56cc38d93db6a3188c78730312997840..11b8bb8a9d70a6d9c6326ce5779de5362b6c7381 100644
--- a/test/platform/github/__snapshots__/index.spec.js.snap
+++ b/test/platform/github/__snapshots__/index.spec.js.snap
@@ -308,17 +308,6 @@ Object {
   "isConflicted": true,
   "isStale": true,
   "number": 2500,
-  "reviews": Object {
-    "nodes": Array [
-      Object {
-        "author": Object {
-          "login": "login",
-        },
-        "createdAt": "2018-12-30T15:53:22Z",
-        "state": "CHANGES_REQUESTED",
-      },
-    ],
-  },
   "state": "open",
   "title": "chore(deps): update dependency jest to v23.6.0",
 }
@@ -371,66 +360,6 @@ Object {
 }
 `;
 
-exports[`platform/github getPr(prNo) should return a mergeable PR if last review from the user is APPROVED 1`] = `
-Object {
-  "branchName": "renovate/major-got-packages",
-  "canMerge": true,
-  "canRebase": true,
-  "displayNumber": "Pull Request #2433",
-  "isConflicted": false,
-  "isStale": true,
-  "labels": Array [
-    "blocked",
-  ],
-  "number": 2433,
-  "reviews": Object {
-    "nodes": Array [
-      Object {
-        "author": Object {
-          "login": "login",
-        },
-        "createdAt": "2018-12-30T15:53:22Z",
-        "state": "CHANGES_REQUESTED",
-      },
-      Object {
-        "author": Object {
-          "login": "login",
-        },
-        "createdAt": "2018-12-30T15:53:29Z",
-        "state": "APPROVED",
-      },
-    ],
-  },
-  "state": "open",
-  "title": "build(deps): update got packages (major)",
-}
-`;
-
-exports[`platform/github getPr(prNo) should return a not mergeable PR if last review from the user is CHANGES_REQUESTED 1`] = `
-Object {
-  "branchName": "renovate/jest-monorepo",
-  "canMerge": false,
-  "canRebase": true,
-  "displayNumber": "Pull Request #2500",
-  "isConflicted": true,
-  "isStale": true,
-  "number": 2500,
-  "reviews": Object {
-    "nodes": Array [
-      Object {
-        "author": Object {
-          "login": "login",
-        },
-        "createdAt": "2018-12-30T15:53:22Z",
-        "state": "CHANGES_REQUESTED",
-      },
-    ],
-  },
-  "state": "open",
-  "title": "chore(deps): update dependency jest to v23.6.0",
-}
-`;
-
 exports[`platform/github getPr(prNo) should return a not rebaseable PR if gitAuthor does not match 1 commit 1`] = `
 Object {
   "base": Object {
diff --git a/test/platform/github/index.spec.js b/test/platform/github/index.spec.js
index b52cd628775dae287163621953c108265f9778ea..7d07145af2efa21edb12291e663df0d33ca7744d 100644
--- a/test/platform/github/index.spec.js
+++ b/test/platform/github/index.spec.js
@@ -1651,46 +1651,6 @@ describe('platform/github', () => {
       expect(pr.canRebase).toBe(false);
       expect(pr).toMatchSnapshot();
     });
-    it('should return a mergeable PR if last review from the user is APPROVED', async () => {
-      await initRepo({
-        repository: 'some/repo',
-        token: 'token',
-      });
-      get.post.mockImplementationOnce(() => ({
-        body: graphqlOpenPullRequests,
-      }));
-      // getBranchCommit
-      get.mockImplementationOnce(() => ({
-        body: {
-          object: {
-            sha: '1234',
-          },
-        },
-      }));
-      const pr = await github.getPr(2433);
-      expect(pr.canMerge).toBe(true);
-      expect(pr).toMatchSnapshot();
-    });
-    it('should return a not mergeable PR if last review from the user is CHANGES_REQUESTED', async () => {
-      await initRepo({
-        repository: 'some/repo',
-        token: 'token',
-      });
-      get.post.mockImplementationOnce(() => ({
-        body: graphqlOpenPullRequests,
-      }));
-      // getBranchCommit
-      get.mockImplementationOnce(() => ({
-        body: {
-          object: {
-            sha: '1234',
-          },
-        },
-      }));
-      const pr = await github.getPr(2500);
-      expect(pr.canMerge).toBe(false);
-      expect(pr).toMatchSnapshot();
-    });
   });
   describe('getPrFiles()', () => {
     it('should return empty if no prNo is passed', async () => {