--- webform.module	2008-12-10 00:00:39.000000000 -0500
+++ webform.module_patch	2008-12-10 00:00:39.000000000 -0500
@@ -136,7 +136,7 @@ function webform_menu($may_cache) {
         'title' => t('Results'),
         'callback' => 'webform_results',
         'callback arguments' => array($node),
-        'access' => user_access('access webform results'),
+        'access' => user_access('access webform results') || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 2,
         'type' => MENU_LOCAL_TASK,
       );
@@ -145,7 +145,7 @@ function webform_menu($may_cache) {
         'title' => t('Submissions'),
         'callback' => 'webform_results',
         'callback arguments' => array($node),
-        'access' => user_access('access webform results'),
+        'access' => user_access('access webform results') || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 4,
         'type' => MENU_DEFAULT_LOCAL_TASK,
       );
@@ -154,7 +154,7 @@ function webform_menu($may_cache) {
         'title' => t('Analysis'),
         'callback' => 'webform_results',
         'callback arguments' => array($node, 'analysis'),
-        'access' => user_access('access webform results'),
+        'access' => user_access('access webform results') || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 5,
         'type' => MENU_LOCAL_TASK,
       );
@@ -163,7 +163,7 @@ function webform_menu($may_cache) {
         'title' => t('Table'),
         'callback' => 'webform_results',
         'callback arguments' => array($node, 'table'),
-        'access' => user_access('access webform results'),
+        'access' => user_access('access webform results') || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 6,
         'type' => MENU_LOCAL_TASK,
       );
@@ -172,7 +172,7 @@ function webform_menu($may_cache) {
         'title' => t('Download'),
         'callback' => 'webform_results',
         'callback arguments' => array($node, 'download'),
-        'access' => user_access('access webform results'),
+        'access' => user_access('access webform results') || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 7,
         'type' => MENU_LOCAL_TASK,
       );
@@ -190,7 +190,7 @@ function webform_menu($may_cache) {
         'title' => t('Submissions'),
         'callback' => 'webform_results',
         'callback arguments' => array($node, 'user_submissions'),
-        'access' => user_access('access webform results') || user_access('access webform submissions') || (user_access('access own webform submissions')  && $user->uid),
+        'access' => user_access('access webform results') || user_access('access webform submissions') || (user_access('access own webform submissions') && $user->uid) || (user_access('access results on own webform') && ($user->uid == $node->uid)),
         'weight' => 2,
         'type' => MENU_CALLBACK,
       );
@@ -244,7 +244,7 @@ function webform_menu($may_cache) {
  * Implementation of hook_perm().
  */
 function webform_perm() {
-  return array("create webforms", "edit own webforms", "edit webforms", "access webform results", "clear webform results", "access own webform submissions", "edit own webform submissions", "edit webform submissions", "use PHP for additional processing");
+  return array("create webforms", "edit own webforms", "edit webforms", "access webform results", "clear webform results", "access own webform submissions", "edit own webform submissions", "edit webform submissions", "use PHP for additional processing", "access results on own webform");
 }
 
 /**
@@ -921,7 +921,7 @@ function webform_view(&$node, $teaser = 
   }
 
   // Get a count of previous submissions by this user.
-  if ($user->uid && (user_access('access own webform submissions') || user_access('access webform results') || user_access('access webform submissions'))) {
+  if ($user->uid && (user_access('access own webform submissions') || user_access('access webform results') || user_access('access webform submissions') || user_access('access results on own webform'))) {
     $submission_count = db_result(db_query("SELECT count(*) FROM {webform_submissions} WHERE nid = %d AND uid = %d", $node->nid, $user->uid));
   }
 
