Index: wp-includes/default-widgets.php
===================================================================
--- wp-includes/default-widgets.php	(revision 15277)
+++ wp-includes/default-widgets.php	(working copy)
@@ -643,8 +643,13 @@
  			$number = 5;
  		else if ( $number < 1 )
  			$number = 1;
+		$comments = get_comments( array( 'number' => $number, 'status' => 'approve' ) );
 
-		$comments = get_comments( array( 'number' => $number, 'status' => 'approve' ) );
+		$post_ids = array();
+		foreach ( (array)$comments as $comment )
+			$post_ids[] = $comment->comment_post_ID;
+		cache_posts($post_ids, false, false);
+
 		$output .= $before_widget;
 		if ( $title )
 			$output .= $before_title . $title . $after_title;
Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 15277)
+++ wp-includes/post.php	(working copy)
@@ -4128,6 +4128,43 @@
 }
 
 /**
+ * Updates the post cache for a list of post IDs
+ *
+ * Performs a SQL query to retrieve any uncached posts in the gived post_ids list and cache them.
+ * Therefor, the function, which calls this function, doesn't cause unnecessary SQL queries from get_post().
+ *
+ * @package WordPress
+ * @subpackage Cache
+ * @since 3.1
+ *
+ * @param array $post_ids List of post IDs.
+ * @param bool $update_term_cache if the Term Cache should be updated for the given posts
+ * @param bool $update_postmeta_cache if the Post Meta Cache should be updated for the given posts
+ * @return null Doesnt return anything
+ */
+function cache_posts($post_ids, $update_term_cache = true, $update_postmeta_cache = true) {
+	// No point in loading posts already in memory
+	foreach ( (array) $post_ids as $key => $id )
+		if ( wp_cache_get($id, 'posts') )
+			unset($post_ids[$key]);
+
+	// No point in doing all this work if all posts are in memory
+	if ( empty($post_ids) )
+		return;
+
+	get_posts( array(
+					 'post__in' => $post_ids,
+					 'post_type' => 'any',
+					 'post_status' => 'any',
+					 'update_post_term_cache' => $update_term_cache,
+					 'update_post_meta_cache' => $update_postmeta_cache,
+					 'numberposts' => -1,
+					 'orderby' => 'none',
+					 'suppress_filters' => true
+				));	
+}
+
+/**
  * Will clean the attachment in the cache.
  *
  * Cleaning means delete from the cache. Optionaly will clean the term
