diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index 03f847e..adae94f 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -42,37 +42,13 @@
     audit = aw.AuditLog()
     page_list=ffw.PageList()
 
-class AdminWidgets(WidgetController):
-    widgets=['users', 'tool_status']
 
-    def __init__(self, app): pass
-
-    @expose('jinja:allura.ext.admin:templates/widgets/users.html')
-    def users(self):
-        return dict(project_users=c.project.users())
-
-    @expose('jinja:allura.ext.admin:templates/widgets/tool_status.html')
-    def tool_status(self):
-        'Display # of Shortlinks for each (mounted) tool'
-        links = defaultdict(list)
-        for ac in c.project.app_configs:
-            mp = ac.options.mount_point
-            q = M.Shortlink.query.find(dict(
-                project_id=c.project._id,
-                app_config_id = ac._id))
-            ct = q.count()
-            if 0 < ct < 10:
-                links[mp] = q.all()
-            elif ct:
-                links[mp] = [ None ] * ct
-        return dict(links=links)
 
 class AdminApp(Application):
     '''This is the admin app.  It is pretty much required for
     a functioning allura project.
     '''
     __version__ = version.__version__
-    widget=AdminWidgets
     installable=False
     _installable_tools = None
     tool_label = 'admin'
diff --git a/Allura/allura/ext/admin/templates/widgets/tool_status.html b/Allura/allura/ext/admin/templates/widgets/tool_status.html
deleted file mode 100644
index 87013d7..0000000
--- a/Allura/allura/ext/admin/templates/widgets/tool_status.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<div class="portlet">
-  <h4>Tool Status</h4>
-  <dl>
-    {% for mp, alinks in links.iteritems() %}
-      <dt>{{mp}}</dt>
-      <dd>
-        {% if alinks|length < 5 %}
-          <ul>
-            {% for al in alinks %}
-              <li><a href="{{al.url}}">[{{mp}}:{{al.link}}]</a></li>
-            {% endfor %}
-          </ul>
-        {% else %}
-          {{alinks|length}} artifacts
-        {% endif %}
-      </dd>
-    {% endfor %}
-  </dl>
-</div>
diff --git a/Allura/allura/ext/admin/templates/widgets/users.html b/Allura/allura/ext/admin/templates/widgets/users.html
deleted file mode 100644
index 5beeaf5..0000000
--- a/Allura/allura/ext/admin/templates/widgets/users.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="portlet">
-  <h4>Project Users</h4>
-  <ul>
-    {% for user in project_users %}
-    <li>
-    <a href="{{user.url()}}profile/">{{user.display_name}}</a></li>
-    {% endfor %}
-  </ul>
-</div>
