Index: wp-admin/revision.php
===================================================================
--- wp-admin/revision.php	(revision 11136)
+++ wp-admin/revision.php	(working copy)
@@ -18,7 +18,21 @@
 $parent_file = $redirect = 'edit.php';
 
 switch ( $action ) :
-case 'delete' : // stubs
+case 'delete' : 
+	if ( !$revision = wp_get_post_revision( $revision_id ) )
+		break;
+	if ( !current_user_can( 'edit_post', $revision->post_parent ) )
+		break;
+	if ( !$post = get_post( $revision->post_parent ) )
+		break;
+	if ( !constant('WP_POST_REVISIONS') && !wp_is_post_autosave( $revision ) ) // Revisions disabled and we're not looking at an autosave
+		break;
+		
+	check_admin_referer( "delete-post_$post->ID|$revision->ID" );
+
+	wp_delete_post_revision( $revision->ID );
+	$redirect = false;	
+	break;	
 case 'edit' :
 	if ( constant('WP_POST_REVISIONS') ) // stub
 		$redirect = remove_query_arg( 'action' );
Index: wp-includes/post-template.php
===================================================================
--- wp-includes/post-template.php	(revision 11136)
+++ wp-includes/post-template.php	(working copy)
@@ -1292,12 +1292,15 @@
 			$right_checked = $right == $revision->ID ? ' checked="checked"' : '';
 
 			$class = $class ? '' : " class='alternate'";
-
-			if ( $post->ID != $revision->ID && $can_edit_post )
-				$actions = '<a href="' . wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'diff' => false, 'action' => 'restore' ) ), "restore-post_$post->ID|$revision->ID" ) . '">' . __( 'Restore' ) . '</a>';
-			else
-				$actions = '';
-
+			
+			$actions = '';
+			
+			if ( $post->ID != $revision->ID && $can_edit_post ) {
+				$actions .= '<a href="' . wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'diff' => false, 'action' => 'delete' ) ), "delete-post_$post->ID|$revision->ID" ) . '">' . __( 'Delete' ) . '</a>';
+				$actions .= ' | ';
+				$actions .= '<a href="' . wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'diff' => false, 'action' => 'restore' ) ), "restore-post_$post->ID|$revision->ID" ) . '">' . __( 'Restore' ) . '</a>';
+			}	
+			
 			$rows .= "<tr$class>\n";
 			$rows .= "\t<th style='white-space: nowrap' scope='row'><input type='radio' name='left' value='$revision->ID'$left_checked /><input type='radio' name='right' value='$revision->ID'$right_checked /></th>\n";
 			$rows .= "\t<td>$date</td>\n";
