diff --git a/pagure/templates/issues.html b/pagure/templates/issues.html
index de86ccb..298fbbd 100644
--- a/pagure/templates/issues.html
+++ b/pagure/templates/issues.html
@@ -124,38 +124,17 @@
{% for tag in tag_list %}
- {% if tag.tag in tags %}
- {% if status and status != 'Open' %}
-
- {% else %}
-
- {% endif %}
- {% else %}
- {% endif %}
{{ tag.tag }}
{% endfor %}
diff --git a/pagure/templates/roadmap.html b/pagure/templates/roadmap.html
index 94eaac7..589b883 100644
--- a/pagure/templates/roadmap.html
+++ b/pagure/templates/roadmap.html
@@ -132,28 +132,16 @@
{% for tag in tag_list %}
- {% if tag in tags %}
-
- {% else %}
- {% endif %}
{{ tag }}
{% endfor %}
diff --git a/pagure/ui/filters.py b/pagure/ui/filters.py
index 647ab30..ae5e36f 100644
--- a/pagure/ui/filters.py
+++ b/pagure/ui/filters.py
@@ -572,3 +572,15 @@ def combine_url(url, page, pagetitle, **kwargs):
query[pagetitle] = page
query.update(kwargs)
return url + '?' + '&'.join(['%s=%s' % (k, query[k]) for k in query])
+
+
+@APP.template_filter('add_or_remove')
+def add_or_remove(item, items):
+ """ Adds the item to the list if it is not in there and remove it
+ otherwise.
+ """
+ if item in items:
+ items.remove(item)
+ else:
+ items.append(item)
+ return items