diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
index 9c9a31a..057dd1d 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
@@ -62,7 +62,7 @@
             hidden$="[[_hidePrevArrow(_offset)]]" hidden>&larr; Prev</a>
         <a id="nextArrow"
             href$="[[_computeNavLink(_query, _offset, 1, _changesPerPage)]]"
-            hidden$="[[_hideNextArrow(_loading, _changesPerPage)]]" hidden>
+            hidden$="[[_hideNextArrow(_loading)]]" hidden>
           Next &rarr;</a>
       </nav>
     </div>
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
index fa68bc8..fc9b26f 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
@@ -134,8 +134,9 @@
       return offset === 0;
     },
 
-    _hideNextArrow: function(loading, changesPerPage) {
-      return loading || !this._changes || this._changes.length < changesPerPage;
+    _hideNextArrow: function(loading) {
+      return loading || !this._changes || !this._changes.length ||
+          !this._changes[this._changes.length - 1]._more_changes;
     },
 
     _handleNextPage: function() {
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
index 376c6ea..d99f251 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html
@@ -86,16 +86,21 @@
 
     test('_hideNextArrow', function() {
       var loading = true;
-      var changesPerPage = 25;
-      assert.isTrue(element._hideNextArrow(loading, changesPerPage));
+      assert.isTrue(element._hideNextArrow(loading));
       loading = false;
-      assert.isTrue(element._hideNextArrow(loading, changesPerPage));
+      assert.isTrue(element._hideNextArrow(loading));
+      element._changes = [];
+      assert.isTrue(element._hideNextArrow(loading));
       element._changes =
-          Array.apply(null, Array(5)).map(Number.prototype.valueOf, 0);
-      assert.isTrue(element._hideNextArrow(loading, changesPerPage));
+          Array.apply(null, Array(5)).map(Object.prototype.valueOf, {});
+      assert.isTrue(element._hideNextArrow(loading));
       element._changes =
-          Array.apply(null, Array(25)).map(Number.prototype.valueOf, 0);
-      assert.isFalse(element._hideNextArrow(loading, changesPerPage));
+          Array.apply(null, Array(25)).map(Object.prototype.valueOf,
+          {_more_changes: true});
+      assert.isFalse(element._hideNextArrow(loading));
+      element._changes =
+          Array.apply(null, Array(25)).map(Object.prototype.valueOf, {});
+      assert.isTrue(element._hideNextArrow(loading));
     });
 
     test('_handleNextPage', function() {
