diff --git a/sitewide/userprofile.py b/sitewide/userprofile.py
index 2723e9e..33045c4 100644
--- a/sitewide/userprofile.py
+++ b/sitewide/userprofile.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 for the user profile page ("my page")."""
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
 
-import logging
 import time
 import json
 
@@ -17,14 +15,12 @@
 import settings
 from businesslogic import work_env
 from framework import framework_helpers
-from framework import flaskservlet
 from framework import framework_views
 from framework import permissions
 from framework import servlet
 from framework import timestr
 from framework import xsrf
 from project import project_views
-from sitewide import sitewide_helpers
 
 
 class UserProfile(servlet.Servlet):
@@ -231,11 +227,11 @@
         mr, mr.viewed_user_auth.user_view.profile_url, include_project=False,
         saved=1, ts=int(time.time()))
 
-  # def GetUserProfilePage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def GetUserProfilePage(self, **kwargs):
+    return self.handler(**kwargs)
 
-  # def PostUserProfilePage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostUserProfilePage(self, **kwargs):
+    return self.handler(**kwargs)
 
 
 def _ComputePossibleParentAccounts(
@@ -252,6 +248,7 @@
   found_emails = [user.email for user in found_users]
   return found_emails
 
+
 class BanUser(servlet.Servlet):
   """Bans or un-bans a user."""
 
@@ -270,5 +267,5 @@
         mr, mr.viewed_user_auth.user_view.profile_url, include_project=False,
         saved=1, ts=int(time.time()))
 
-  # def PostBanUserPage(self, **kwargs):
-  #   return self.handler(**kwargs)
+  def PostBanUserPage(self, **kwargs):
+    return self.handler(**kwargs)
