diff --git a/lib/github-auth.js b/lib/github-auth.js
index <HASH>..<HASH> 100644
--- a/lib/github-auth.js
+++ b/lib/github-auth.js
@@ -144,6 +144,8 @@ function utcEpochSeconds() {
   return ((Date.now() / 1000) >>> 0);
 }
 
+var userTokenRateLimit = 12500;
+
 // Retrieve a user token if there is one for which we believe there are requests
 // remaining. Return undefined if we could not find one.
 function getReqRemainingToken() {
@@ -153,7 +155,8 @@ function getReqRemainingToken() {
   for (var token of reqReset.keys()) {
     var reqs = reqRemaining.get(token);
     var reset = reqReset.get(token);
-    var hasRemainingReqs = reqs > 10;  // Don't go too close to 0.
+    // We don't want to empty more than 3/4 of a user's rate limit.
+    var hasRemainingReqs = reqs > (userTokenRateLimit / 4);
     var isBeyondRateLimitReset = reset < now;
     if (hasRemainingReqs || isBeyondRateLimitReset) {
       return token;
GitHub auth: use up to 3/4 of the user's rate limit