Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.439
diff -u -p -r1.439 forum.module
--- modules/forum/forum.module	22 Dec 2007 23:11:31 -0000	1.439
+++ modules/forum/forum.module	31 Dec 2007 07:41:41 -0000
@@ -310,10 +310,7 @@ function forum_access($op, $node, $accou
   }
 
   if ($op == 'update' || $op == 'delete') {
-    if (user_access('edit own forum topics', $account) && ($account->uid == $node->uid)) {
-      return TRUE;
-    }
-    if (user_access('edit any forum topic')) {
+    if (user_access('edit any forum topic', $account) || (user_access('edit own forum topics', $account) && ($account->uid == $node->uid))) {
       return TRUE;
     }
   }
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.934
diff -u -p -r1.934 node.module
--- modules/node/node.module	28 Dec 2007 12:02:51 -0000	1.934
+++ modules/node/node.module	31 Dec 2007 07:41:45 -0000
@@ -2322,7 +2322,6 @@ function _node_access_rebuild_batch_fini
  * Named so as not to conflict with node_access()
  */
 function node_content_access($op, $node, $account) {
-  global $user;
   $type = is_string($node) ? $node : (is_array($node) ? $node['type'] : $node->type);
 
   if ($op == 'create') {
@@ -2330,13 +2329,13 @@ function node_content_access($op, $node,
   }
 
   if ($op == 'update') {
-    if (user_access('edit any '. $type .' content', $account) || (user_access('edit own '. $type .' content', $account) && ($user->uid == $node->uid))) {
+    if (user_access('edit any '. $type .' content', $account) || (user_access('edit own '. $type .' content', $account) && ($account->uid == $node->uid))) {
       return TRUE;
     }
   }
 
   if ($op == 'delete') {
-    if (user_access('delete any '. $type .' content') || (user_access('delete own '. $type .' content') && ($user->uid == $node->uid))) {
+    if (user_access('delete any '. $type .' content', $account) || (user_access('delete own '. $type .' content', $account) && ($account->uid == $node->uid))) {
       return TRUE;
     }
   }
Index: modules/poll/poll.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v
retrieving revision 1.257
diff -u -p -r1.257 poll.module
--- modules/poll/poll.module	17 Dec 2007 21:58:38 -0000	1.257
+++ modules/poll/poll.module	31 Dec 2007 07:41:47 -0000
@@ -61,13 +61,11 @@ function poll_perm() {
  * Implementation of hook_access().
  */
 function poll_access($op, $node, $account) {
-  global $user;
-
   switch ($op) {
     case 'create':
       return user_access('create poll content', $account);
     case 'update':
-      return user_access('edit any poll content') || (user_access('edit own poll content') && ($node->uid == $user->uid));
+      return user_access('edit any poll content', $account) || (user_access('edit own poll content', $account) && ($node->uid == $account->uid));
   }
 }
 
