diff --git a/js/feedlist.js b/js/feedlist.js
index 3154a2887b2e8685d178662bc73a1a41d0fe6b1b..f4e07517e147964f9c1c219407ccbf930ced30da 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -132,6 +132,8 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
 
 		console.log(query);
 
+		setActiveFeedId(feed, is_cat);
+
 		new Ajax.Request("backend.php", {
 			parameters: query,
 			onComplete: function(transport) {
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 7813ab7ef7f3c3f90e37b61198f235538fab5891..76f9bbaeed74d2076c9759da8e544f1fbb721e34 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -49,7 +49,8 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
 				return;
 			}
 
-			setActiveFeedId(feed_id, is_cat);
+			if (feed_id != getActiveFeedId() || is_cat != activeFeedIsCat())
+				return;
 
 			/* dijit.getEnclosingWidget(
 				document.forms["main_toolbar_form"].update).attr('disabled',