diff --git a/Allura/allura/templates/neighborhood_list.html b/Allura/allura/templates/neighborhood_list.html
index 3a25ab0..8ff67f3 100644
--- a/Allura/allura/templates/neighborhood_list.html
+++ b/Allura/allura/templates/neighborhood_list.html
@@ -22,7 +22,7 @@
         </thead>
         <tbody>
         {% for nbhd in neighborhoods %}
-            <tr><td><a href="{{nbhd.url()}}">{{nbhd.name}}</a></td></tr>
+            <tr><td class="nbhd"><a href="{{nbhd.url()}}">{{nbhd.name}}</a></td></tr>
         {% else %}
             <tr><td class="no-nbhds">No neighborhoods found</td></tr>
         {% endfor %}
diff --git a/Allura/allura/tests/functional/test_root.py b/Allura/allura/tests/functional/test_root.py
index 995be0d..3f4e7dd 100644
--- a/Allura/allura/tests/functional/test_root.py
+++ b/Allura/allura/tests/functional/test_root.py
@@ -32,9 +32,9 @@
 
     def test_index(self):
         response = self.app.get('/')
-        assert_equal(response.html.find('h2',{'class':'dark title'}).contents[0].strip(), 'All Projects')
-        projects = response.html.findAll('div',{'class':'border card'})
-        assert projects[0].find('a').get('href') == '/adobe/adobe-1/'
+        assert_equal(response.html.find('h2',{'class':'dark title'}).contents[0].strip(), 'All Neighborhoods')
+        nbhds = response.html.findAll('td',{'class':'nbhd'})
+        assert nbhds[0].find('a').get('href') == '/adobe/'
         cat_links = response.html.find('div',{'id':'sidebar'}).findAll('li')
         assert len(cat_links) == 4
         assert cat_links[0].find('a').get('href') == '/browse/clustering'
