diff --git a/webapp/codereview/urls.py b/webapp/codereview/urls.py
index 3e5e15f..a31abef 100644
--- a/webapp/codereview/urls.py
+++ b/webapp/codereview/urls.py
@@ -25,6 +25,7 @@
     (r'^$', 'views.index'),
     (r'^all$', 'views.all'),
     (r'^mine$', 'views.mine'),
+    (r'^all_unclaimed$', 'views.all_unclaimed'),
     (r'^unclaimed$', 'views.unclaimed'),
     (r'^starred$', 'views.starred'),
     (r'^r/([0-9a-f]{4,40})$', 'views.revision_redirect'),
diff --git a/webapp/codereview/views.py b/webapp/codereview/views.py
index c4eba3f..492b57a 100644
--- a/webapp/codereview/views.py
+++ b/webapp/codereview/views.py
@@ -178,6 +178,42 @@
 def unclaimed_project_memcache_key(user):
   return "user_unclaimed_projects:%s" % user.email()
 
+def all_unclaimed(request):
+  flat_changes = models.gql(models.Change,
+                          ' WHERE closed = FALSE'
+                          '   AND claimed = FALSE'
+                          ' ORDER BY dest_project DESC,'
+                          '   modified DESC').fetch(1000)
+  changes = []
+  c_list = []
+  last_project_key = None
+  for c in flat_changes:
+    logging.info("c=" + str(c))
+    k = c.dest_project.key()
+    if k != last_project_key:
+      if c_list:
+        _optimize_draft_counts(c_list)
+        _prefetch_names(c_list)
+        changes.append({
+            'name': c.dest_project.name,
+            'changes': c_list,
+          })
+      last_project_key = k
+      c_list = []
+    c_list.append(c)
+  if c_list:
+    _optimize_draft_counts(c_list)
+    _prefetch_names(c_list)
+    changes.append({
+        'name': c.dest_project.name,
+        'changes': c_list,
+      })
+  vars = {
+      'projects': changes,
+    }
+
+  return respond(request, 'unclaimed.html', vars)
+
 @login_required
 def unclaimed(request):
   """/unclaimed - Show changes with no reviewer listed for user's selected
diff --git a/webapp/templates/changes_base.html b/webapp/templates/changes_base.html
index c25fc64..0146c9f 100644
--- a/webapp/templates/changes_base.html
+++ b/webapp/templates/changes_base.html
@@ -7,12 +7,14 @@
   <ul>
     <li><a href="{%url codereview.views.mine %}">My Changes</a></li>
     <li><a href="{%url codereview.views.unclaimed %}">Unclaimed Changes</a></li>
+    <li><a href="{%url codereview.views.all_unclaimed %}">All Unclaimed Changes</a></li>
     <li><a href="{%url codereview.views.all %}">Recent Changes</a></li>
     <li><a href="{%url codereview.views.starred %}">Starred Changes</a></li>
   </ul>
   {%else%}
   <ul>
     <li><a href="{%url codereview.views.index %}">Recent Changes</a></li>
+    <li><a href="{%url codereview.views.all_unclaimed %}">All Unclaimed Changes</a></li>
     <li id="signin-link">
       <a class="novisit" href="{{sign_in}}">Sign in</a> with your
       <a href="https://www.google.com/accounts/NewAccount">Google Account</a>
