Index: wp-includes/capabilities.php
===================================================================
--- wp-includes/capabilities.php	(revision 18099)
+++ wp-includes/capabilities.php	(working copy)
@@ -820,6 +820,11 @@
 	case 'delete_page':
 		$author_data = get_userdata( $user_id );
 		$post = get_post( $args[0] );
+
+		if ( 'revision' == $post->post_type ) {
+			$post = get_post( $post->post_parent );
+		}
+
 		$post_type = get_post_type_object( $post->post_type );
 
 		if ( ! $post_type->map_meta_cap ) {
@@ -865,6 +870,11 @@
 	case 'edit_page':
 		$author_data = get_userdata( $user_id );
 		$post = get_post( $args[0] );
+
+		if ( 'revision' == $post->post_type ) {
+			$post = get_post( $post->post_parent );
+		}
+
 		$post_type = get_post_type_object( $post->post_type );
 
 		if ( ! $post_type->map_meta_cap ) {
@@ -909,6 +919,11 @@
 	case 'read_page':
 		$author_data = get_userdata( $user_id );
 		$post = get_post( $args[0] );
+
+		if ( 'revision' == $post->post_type ) {
+			$post = get_post( $post->post_parent );
+		}
+
 		$post_type = get_post_type_object( $post->post_type );
 
 		if ( ! $post_type->map_meta_cap ) {
