diff --git a/app/views/admin/comments/index.html.erb b/app/views/admin/comments/index.html.erb
index 76426098c..f0639047f 100644
--- a/app/views/admin/comments/index.html.erb
+++ b/app/views/admin/comments/index.html.erb
@@ -1,17 +1,6 @@
<%= t("admin.comments.index.title") %>
-
- - <%= t("admin.comments.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("admin.comments.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("admin.comments.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "admin.comments.index" %>
<%= page_entries_info @comments %>
diff --git a/app/views/admin/debates/index.html.erb b/app/views/admin/debates/index.html.erb
index 0a12c74e0..7caa8ecc3 100644
--- a/app/views/admin/debates/index.html.erb
+++ b/app/views/admin/debates/index.html.erb
@@ -1,17 +1,6 @@
<%= t("admin.debates.index.title") %>
-
- - <%= t("admin.debates.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("admin.debates.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("admin.debates.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "admin.debates.index" %>
<%= page_entries_info @debates %>
diff --git a/app/views/admin/organizations/index.html.erb b/app/views/admin/organizations/index.html.erb
index e5dc9b762..464168746 100644
--- a/app/views/admin/organizations/index.html.erb
+++ b/app/views/admin/organizations/index.html.erb
@@ -13,18 +13,7 @@
<% end %>
-
- - <%= t("admin.organizations.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("admin.organizations.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("admin.organizations.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "admin.organizations.index" %>
<%= page_entries_info @organizations %>
diff --git a/app/views/admin/users/index.html.erb b/app/views/admin/users/index.html.erb
index 0c557fcab..0d18c8b61 100644
--- a/app/views/admin/users/index.html.erb
+++ b/app/views/admin/users/index.html.erb
@@ -1,17 +1,6 @@
<%= t("admin.users.index.title") %>
-
- - <%= t("admin.users.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("admin.users.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("admin.users.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "admin.users.index" %>
<%= page_entries_info @users %>
diff --git a/app/views/moderation/comments/index.html.erb b/app/views/moderation/comments/index.html.erb
index e02bb76a5..ec642077b 100644
--- a/app/views/moderation/comments/index.html.erb
+++ b/app/views/moderation/comments/index.html.erb
@@ -1,17 +1,6 @@
<%= t("moderation.comments.index.title") %>
-
- - <%= t("moderation.comments.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("moderation.comments.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("moderation.comments.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "moderation.comments.index" %>
<%= page_entries_info @comments %>
diff --git a/app/views/moderation/debates/index.html.erb b/app/views/moderation/debates/index.html.erb
index 7eb771c80..3fc3f402b 100644
--- a/app/views/moderation/debates/index.html.erb
+++ b/app/views/moderation/debates/index.html.erb
@@ -1,17 +1,6 @@
<%= t("moderation.debates.index.title") %>
-
- - <%= t("moderation.debates.index.filter") %>:
-
- <% @valid_filters.each do |filter| %>
- <% if @current_filter == filter %>
- - <%= t("moderation.debates.index.filters.#{filter}") %>
- <% else %>
- - <%= link_to t("moderation.debates.index.filters.#{filter}"),
- current_path_with_query_params(filter: filter) %>
- <% end %>
- <% end %>
-
+<%= render 'shared/filter_subnav', i18n_namespace: "moderation.debates.index" %>
<%= page_entries_info @debates %>
diff --git a/app/views/shared/_filter_subnav.html.erb b/app/views/shared/_filter_subnav.html.erb
new file mode 100644
index 000000000..0f8975aa3
--- /dev/null
+++ b/app/views/shared/_filter_subnav.html.erb
@@ -0,0 +1,17 @@
+<% # Params:
+ #
+ # i18n_namespace: for example "moderation.debates.index"
+%>
+
+
+ - <%= t("#{i18n_namespace}.filter") %>:
+
+ <% @valid_filters.each do |filter| %>
+ <% if @current_filter == filter %>
+ - <%= t("#{i18n_namespace}.filters.#{filter}") %>
+ <% else %>
+ - <%= link_to t("#{i18n_namespace}.filters.#{filter}"),
+ current_path_with_query_params(filter: filter) %>
+ <% end %>
+ <% end %>
+