diff --git leaguesite_match/leaguesite_match.module leaguesite_match/leaguesite_match.module
index eeb3940..8789e14 100644
--- leaguesite_match/leaguesite_match.module
+++ leaguesite_match/leaguesite_match.module
@@ -139,7 +139,7 @@ function leaguesite_match_access($op, $node, $account){
 	// Users who create a node may edit or delete it later, assuming they have the
 	// necessary permissions. We will also check the owners of the teams
 	if($op == 'update' || $op == 'delete'){
-		$result = db_query("SELECT {node}.uid FROM {node}, {leaguesite_match} WHERE {node}.type='leaguesite_team' AND {leaguesite_match}.nid = %d AND ({leaguesite_match}.home_team = {node}.nid OR {leaguesite_match}.away_team = {node}.nid)", $node->nid);
+		$result = db_query("SELECT home_team_node.uid AS home_owner, away_team_node.uid AS away_owner, home_team.manager AS home_manager, away_team.manager as away_manager FROM leaguesite_match LEFT JOIN leaguesite_team home_team ON leaguesite_match.home_team = home_team.team_id LEFT JOIN leaguesite_team away_team ON leaguesite_match.away_team = away_team.team_id LEFT JOIN node home_team_node ON home_team.team_id = home_team_node.nid LEFT JOIN node away_team_node ON away_team.team_id = away_team_node.nid WHERE leaguesite_match.nid = %d", $node->nid);
 	}
 
 	if($op == 'view'){
@@ -152,9 +152,14 @@ function leaguesite_match_access($op, $node, $account){
 		}
 		while($row = db_fetch_array($result)){
 			//TODO: Add permission to allow team manager to change result for their team.
-			if(user_access('enter results for your teams leaguesite_match', $account) && ($account->uid == $row['uid'])){
-				return TRUE;
-			}
+			//check the managers first
+            if(user_access('enter results for your teams leaguesite_match', $account) && (($account->uid == $row['home_manager']) || ($account->uid == $row['away_manager']))){
+              return TRUE;
+            }
+            //and now check the node owners
+            if(user_access('edit own leaguesite_match', $account) && (($account->uid == $row['home_owner']) || ($account->uid == $row['away_owner']))){
+              return TRUE;
+            }
 		}
 	}
 
