diff --git a/src/applications/project/query/PhabricatorProjectSearchEngine.php b/src/applications/project/query/PhabricatorProjectSearchEngine.php
--- a/src/applications/project/query/PhabricatorProjectSearchEngine.php
+++ b/src/applications/project/query/PhabricatorProjectSearchEngine.php
@@ -212,7 +212,12 @@
 
     $list = new PHUIObjectItemListView();
     $list->setUser($viewer);
-    foreach ($projects as $project) {
+    $can_edit_projects = id(new PhabricatorPolicyFilter())
+      ->setViewer($viewer)
+      ->requireCapabilities(array(PhabricatorPolicyCapability::CAN_EDIT))
+      ->apply($projects);
+
+    foreach ($projects as $key => $project) {
       $id = $project->getID();
       $workboards_uri = $this->getApplicationURI("board/{$id}/");
       $members_uri = $this->getApplicationURI("members/{$id}/");
@@ -223,10 +228,18 @@
         ),
         pht('Workboard'));
 
-      $members_url = phutil_tag(
+      $members_class = null;
+      $members_sigil = null;
+      if (!isset($can_edit_projects[$key])) {
+        $members_class = 'disabled';
+        $members_sigil = 'workflow';
+      }
+      $members_url = javelin_tag(
         'a',
         array(
           'href' => $members_uri,
+          'class' => $members_class,
+          'sigil' => $members_sigil,
         ),
         pht('Members'));