diff --git a/app/assets/javascripts/vue_pipelines_index/index.js.es6 b/app/assets/javascripts/vue_pipelines_index/index.js.es6
index 6ecbc1ba8ff9485e243269d67ea2fe21a35006c2..4e335ca1d1349cd56cc0c39f61c22ccca6b45d4f 100644
--- a/app/assets/javascripts/vue_pipelines_index/index.js.es6
+++ b/app/assets/javascripts/vue_pipelines_index/index.js.es6
@@ -18,12 +18,12 @@
   const project = document.querySelector('.pipelines');
 
   Vue.use(VueResource);
-  // Vue.config.silent = true;
 
   return new Vue({
     el: '.vue-pipelines-index',
     data: {
       scope: project.dataset.projectId,
+      count: project.dataset.count,
       store: new gl.PipelineStore(),
     },
     components: {
@@ -31,7 +31,12 @@
     },
     template: `
       <div>
-        <vue-pipelines :scope='scope' :store='store'></vue-pipelines>
+        <vue-pipelines
+          :scope='scope'
+          :store='store'
+          :count='count'
+        >
+        </vue-pipelines>
       </div>
     `,
   });
diff --git a/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6 b/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6
index 4706ea61c8e79fca7cd3aae0abaac6bd8a87f7dd..2f3bdc7a2a95907dd602ca6116ec6e0006cefa09 100644
--- a/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6
+++ b/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6
@@ -23,6 +23,7 @@
     props: [
       'scope',
       'store',
+      'count',
     ],
     created() {
       const url = window.location.toString();
@@ -78,6 +79,7 @@
         <vue-gl-pagination
           :changepage='changepage'
           :pages='pipelines.length'
+          :count='count'
         >
         </vue-gl-pagination>
       </div>
diff --git a/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6 b/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6
index 29d4a4df51153be5c347275c36bedef108927066..977d0e2b240a1702dc59977489023349f46f5bc7 100644
--- a/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6
+++ b/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6
@@ -6,7 +6,14 @@
     props: [
       'changepage',
       'pages',
+      'count',
     ],
+    computed: {
+      lastpage() {
+        const lastPage = Math.ceil(+this.count / 5);
+        return `pipelines?page=${lastPage}`;
+      },
+    },
     template: `
       <div class="gl-pagination">
         <ul class="pagination clearfix">
@@ -45,7 +52,7 @@
             </a>
           </li>
           <li class="last">
-            <a href="pipelines?page=936">Last »</a>
+            <a :href='lastpage'>Last »</a>
           </li>
         </ul>
       </div>
diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml
index bd649a4fa2e2e3a04ae77a1b9fa67e67a0624429..7bf727be930f190a0768d0960657767fb9b49bf3 100644
--- a/app/views/projects/pipelines/index.html.haml
+++ b/app/views/projects/pipelines/index.html.haml
@@ -36,7 +36,7 @@
         = link_to ci_lint_path, class: 'btn btn-default' do
           %span CI Lint
 
-  %div.content-list.pipelines{"data-project-id": "#{@project.id}"}
+  %div.content-list.pipelines{"data-project-id": "#{@project.id}", "data-count": "#{@pipelines_count}"}
     - stages = @pipelines.stages
     - if @pipelines.blank?
       %div