diff --git a/features/hotlistissues.py b/features/hotlistissues.py
index 78ba007..e5b491c 100644
--- a/features/hotlistissues.py
+++ b/features/hotlistissues.py
@@ -1,14 +1,12 @@
-# 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 the hotlistissues page and related forms."""
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
 
-import logging
 import ezt
 
 import settings
@@ -20,15 +18,13 @@
 from features import features_constants
 from features import hotlist_helpers
 from framework import exceptions
-from framework import flaskservlet
-from framework import servlet
-from framework import sorting
-from framework import permissions
 from framework import framework_helpers
-from framework import paginate
-from framework import framework_constants
 from framework import framework_views
 from framework import grid_view_helpers
+from framework import paginate
+from framework import permissions
+from framework import servlet
+from framework import sorting
 from framework import template_helpers
 from framework import timestr
 from framework import urls
@@ -47,7 +43,7 @@
   """HotlistIssues is a page that shows the issues of one hotlist."""
 
   _PAGE_TEMPLATE = 'features/hotlist-issues-page.ezt'
-  _MAIN_TAB_MODE = flaskservlet.FlaskServlet.HOTLIST_TAB_ISSUES
+  _MAIN_TAB_MODE = servlet.Servlet.HOTLIST_TAB_ISSUES
 
   def AssertBasePermission(self, mr):
     """Check that the user has permission to even visit this page."""
@@ -349,8 +345,8 @@
 
     return grid_view_data
 
-  # def GetHotlistIssuesPage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def GetHotlistIssuesPage(self, **kwargs):
+    return self.handler(**kwargs)
 
-  # def PostHotlistIssuesPage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostHotlistIssuesPage(self, **kwargs):
+    return self.handler(**kwargs)
