Vielleicht liegt's am $query_string. Versuch mal die Suchseite auszusperren für den Speziel-Query:
Code:
<?php if ( is_home() || !is_search() ) { query_posts($query_string . '&category_name=news'); } ?>
(Na, Augenweh?

)
Ich denke mal, is_home() ist zugleich auch deine Suchergebnis-Seite, da du ja keine search.php, sondern index.php dafür nutzt.