Index: signup.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/signup.module,v
retrieving revision 1.205.2.15
diff -u -r1.205.2.15 signup.module
--- signup.module	25 Jan 2009 03:10:58 -0000	1.205.2.15
+++ signup.module	12 Feb 2009 09:28:08 -0000
@@ -475,7 +475,9 @@
       else {
         $user_list_tab = FALSE;
       }
-      return (user_access('view all signups') && $user_list_tab && _signup_needs_output($node));
+      $view_all = user_access('view all signups');
+      $view_own = user_access('administer signups for own content') && ($user->uid == $node->uid);
+      return (($view_all || $view_own) && $user_list_tab && _signup_needs_output($node));
 
     case 'admin':
       $admin_all = user_access('administer all signups');
Index: includes/node_output.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/includes/node_output.inc,v
retrieving revision 1.1.2.7
diff -u -r1.1.2.7 node_output.inc
--- includes/node_output.inc	24 Jan 2009 08:52:46 -0000	1.1.2.7
+++ includes/node_output.inc	12 Feb 2009 09:28:08 -0000
@@ -119,7 +119,8 @@
 
   // If the user has the view signups perm and the admin decides to display
   // the list at the bottom of the page, display the current signups.
-  if (user_access('view all signups')) {
+  global $user;
+  if (user_access('view all signups') || user_access('administer signups for own content') && ($user->uid == $node->uid)) {
     if ($display_list == 'signup' || $display_list == 'signup-tab') {
       // Admin wants the hard-coded signup listing.
       $registered_query = db_query("SELECT u.uid, u.name, s.signup_time, s.form_data FROM {signup_log} s INNER JOIN {users} u ON u.uid = s.uid WHERE s.nid = %d AND u.uid <> 0", $node->nid);
