--- a/Allura/allura/controllers/root.py
+++ b/Allura/allura/controllers/root.py
@@ -58,14 +58,21 @@
     nf.admin = SiteAdminController()
     search = SearchController()
     rest = RestController()
+    neighborhoods_bound = False
 
     def __init__(self):
-        for n in M.Neighborhood.query.find():
-            if n.url_prefix.startswith('//'): continue
-            n.bind_controller(self)
+        if not self.neighborhoods_bound:
+            self.bind_controllers()
         self.browse = ProjectBrowseController()
         self.allura_sitemap = SitemapIndexController()
         super(RootController, self).__init__()
+
+    @classmethod
+    def bind_controllers(cls):
+        for n in M.Neighborhood.query.find():
+            if n.url_prefix.startswith('//'): continue
+            n.bind_controller(cls)
+        cls.neighborhoods_bound = True
 
     def _setup_request(self):
         c.project = c.app = None
@@ -83,7 +90,7 @@
         c.project_summary = W.project_summary
         projects = M.Project.query.find(
             dict(is_root=True,
-                 shortname={'$ne':'--init--'},
+                 is_nbhd_project=False,
                  deleted=False)).sort('shortname').all()
         neighborhoods = M.Neighborhood.query.find().sort('name')
         psort = [ (n, [ p for p in projects if p.neighborhood_id==n._id ])