diff --git a/tasks/gss_pull.js b/tasks/gss_pull.js
index <HASH>..<HASH> 100644
--- a/tasks/gss_pull.js
+++ b/tasks/gss_pull.js
@@ -61,9 +61,12 @@ module.exports = function(grunt) {
 
         var fetch_each_sheet = function(sheet, key) {
             var promise = new Promise.Promise();
-            var sheet_id = sheet.link[3].href.substr( 
-                sheet.link[3].href.length - 3, 3
-            );
+
+            // It is a bit arbitrary, but the best way to get the sheet ID,
+            // which is something like "od6", is to use the last item link.
+            var sheet_link = sheet.link[sheet.link.length - 1].href;
+            var sheet_id = sheet_link.substr(sheet_link.length - 3, 3);
+            
             var url = "http://spreadsheets.google.com/feeds/list/" + key + "/" + sheet_id + "/public/values?alt=json";
             http.get(url, function(res) {
                 var response_data = '';
@@ -102,7 +105,7 @@ module.exports = function(grunt) {
                      element[ column_names[j] ] = cell.$t;
                    }
                }
-               if(element.rowNumber === undefined) { 
+               if(element.rowNumber === undefined) {
                    element.rowNumber = i + 1;
                }
                elements.push(element);
A bit more flexinibility in getting the right sheet id.