diff --git a/tracker/issuereindex.py b/tracker/issuereindex.py
index 71acfe8..30c80d3 100644
--- a/tracker/issuereindex.py
+++ b/tracker/issuereindex.py
@@ -1,7 +1,6 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file or at
-# https://developers.google.com/open-source/licenses/bsd
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 """Classes that implement an admin utility to re-index issues in bulk."""
 from __future__ import print_function
@@ -12,7 +11,6 @@
 from six.moves import urllib
 
 import settings
-from framework import flaskservlet
 from framework import permissions
 from framework import servlet
 from framework import urls
@@ -23,7 +21,7 @@
   """IssueReindex shows a form to request that issues be indexed."""
 
   _PAGE_TEMPLATE = 'tracker/issue-reindex-page.ezt'
-  _MAIN_TAB_MODE = flaskservlet.FlaskServlet.MAIN_TAB_ISSUES
+  _MAIN_TAB_MODE = servlet.Servlet.MAIN_TAB_ISSUES
 
   def AssertBasePermission(self, mr):
     """Check whether the user has any permission to visit this page.
@@ -79,16 +77,16 @@
     # and we have not run out of issues to process.
     auto_submit = issues and ('auto_submit' in post_data)
 
-    query_map = {
-      'start': start + num,  # auto-increment start.
-      'num': num,
-      'auto_submit': bool(auto_submit),
-    }
+    query_map = (
+        ('start', start + num),  # auto-increment start.
+        ('num', num),
+        ('auto_submit', bool(auto_submit)),
+    )
     return '/p/%s%s?%s' % (
         mr.project_name, urls.ISSUE_REINDEX, urllib.parse.urlencode(query_map))
 
-  # def GetIssueReindex(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def GetIssueReindex(self, **kwargs):
+    return self.handler(**kwargs)
 
-  # def PostIssueReindex(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostIssueReindex(self, **kwargs):
+    return self.handler(**kwargs)
