error in specific category loop

Using query_posts is asking for trouble, because its results may be unpredictable (read more about that in this post). In stead you should define a new query and loop through its results. Like this:

$args = array( 
    'category_name' => 'news',
    'posts_per_page' => '3'
    );
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        the_content();
        }
    }
wp_reset_postdata();