diff --git a/features/userhotlists.py b/features/userhotlists.py
index 65e2d9d..333d843 100644
--- a/features/userhotlists.py
+++ b/features/userhotlists.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.
 
 """Page for showing a user's hotlists."""
 from __future__ import print_function
@@ -14,7 +13,6 @@
 from features import hotlist_views
 from framework import framework_views
 from framework import servlet
-from framework import flaskservlet
 
 
 class UserHotlists(servlet.Servlet):
@@ -31,9 +29,10 @@
     viewed_users_starred_hotlists, _ = self.services.features.GetHotlistsByID(
         mr.cnxn, viewed_starred_hids)
 
-    viewed_users_relevant_hotlists = viewed_users_hotlists + list(
-        set(viewed_users_starred_hotlists.values()) -
-        set(viewed_users_hotlists))
+    viewed_users_relevant_hotlists = viewed_users_hotlists + [
+        hotlist for hotlist in viewed_users_starred_hotlists.values()
+        if hotlist not in viewed_users_hotlists
+    ]
 
     users_by_id = framework_views.MakeAllUserViews(
         mr.cnxn, self.services.user,
@@ -83,8 +82,8 @@
     help_data['cue'] = 'explain_hotlist_starring'
     return help_data
 
-  # def GetUserHotlistsPage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def GetUserHotlistsPage(self, **kwargs):
+    return self.handler(**kwargs)
 
-  # def PostUserHotlistsPage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostUserHotlistsPage(self, **kwargs):
+    return self.handler(**kwargs)
