diff --git a/app/controllers/list_controller.rb b/app/controllers/list_controller.rb
index 3f486476281..c7313f41d96 100644
--- a/app/controllers/list_controller.rb
+++ b/app/controllers/list_controller.rb
@@ -84,7 +84,8 @@ class ListController < ApplicationController
   def top_lists
     discourse_expires_in 1.minute
 
-    top = generate_top_lists
+    options = build_topic_list_options
+    top = generate_top_lists(options)
 
     respond_to do |format|
       format.html do
@@ -201,12 +202,9 @@ class ListController < ApplicationController
     public_send(method, opts.merge(next_page_params(opts)))
   end
 
-  def generate_top_lists
+  def generate_top_lists(options)
     top = {}
-    options = {
-      per_page: SiteSetting.topics_per_period_in_top_summary,
-      category: params[:category]
-    }
+    options[:per_page] = SiteSetting.topics_per_period_in_top_summary
     topic_query = TopicQuery.new(current_user, options)
 
     if current_user.present?
diff --git a/app/models/top_menu_item.rb b/app/models/top_menu_item.rb
index 9f7a22b54b5..98dfb758b20 100644
--- a/app/models/top_menu_item.rb
+++ b/app/models/top_menu_item.rb
@@ -53,7 +53,7 @@ class TopMenuItem
 
   def matches_action?(action_name)
     return true if action_name == "index" && name == SiteSetting.homepage
-    return true if name == action_name
+    return true if action_name.start_with?(name)
     false
   end
 
@@ -69,4 +69,4 @@ class TopMenuItem
       end
     end
   end
-end
\ No newline at end of file
+end