diff --git a/project_src_github.module b/project_src_github.module
index 5d4e17e..73992e8 100644
--- a/project_src_github.module
+++ b/project_src_github.module
@@ -102,3 +102,15 @@ function project_src_github_clear_cache() {
   cache_clear_all('project_src_github', 'cache', TRUE);
   cache_clear_all('%/drupal/release-history/', 'cache_page', TRUE);
 }
+
+
+/**
+ * Helper function to return a GitHub API paginator.
+ *
+ * @param GithubClient $client
+ * @return ResultPager
+ */
+function project_src_github_get_paginator($client) {
+  $paginatorClass = variable_get('project_src_github_paginator_class', 'GitHub\ResultPager');
+  return new $paginatorClass($client);
+}
diff --git a/project_src_github.project_src.inc b/project_src_github.project_src.inc
index 52f3bb0..9c22122 100644
--- a/project_src_github.project_src.inc
+++ b/project_src_github.project_src.inc
@@ -16,7 +16,9 @@ function project_src_github_project_src_info() {
     $github_client = github_api_client();
     $org = variable_get('project_src_github_org', '');
     try {
-      $response = $github_client->api('organization')->repositories($org);
+      $organizationApi = $github_client->api('organization');
+      $paginator = project_src_github_get_paginator($github_client);
+      $response = $paginator->fetchAll($organizationApi, 'repositories', array($org));
     }
     catch (Exception $e) {
       watchdog('project src github', 'An error occurred when attempting to load repositories for %org from GitHub. Message returned:<br /><br />@msg', array(
diff --git a/project_src_github.test b/project_src_github.test
index 56f9b88..bd1ddc6 100644
--- a/project_src_github.test
+++ b/project_src_github.test
@@ -39,6 +39,9 @@ class ProjectSrcGithubBaseCase extends DrupalWebTestCase {
     drupal_flush_all_caches();
     $this->fakeModuleInstall($fake_api);
 
+    // Set up the mock paginator.
+    variable_set('project_src_github_paginator_class', 'GithubPaginatorMock');
+
     // Set relevant Project Source: GitHub variables.
     variable_set('project_src_github_org', $this->org);
     $module = drupal_get_path('module', $fake_api);
diff --git a/test/project_src_github_test_github_api/project_src_github_test_github_api.module b/test/project_src_github_test_github_api/project_src_github_test_github_api.module
index b6f71ee..274024d 100644
--- a/test/project_src_github_test_github_api/project_src_github_test_github_api.module
+++ b/test/project_src_github_test_github_api/project_src_github_test_github_api.module
@@ -193,3 +193,17 @@ class GithubApiMock {
     return $tags;
   }
 }
+
+class GithubPaginatorMock {
+
+  protected $client;
+
+  public function __construct($client) {
+    $this->client = $client;
+  }
+
+  public function fetchAll($api, $method, $params) {
+    return $api->{$method}($params[0]);
+  }
+
+}
