diff --git a/ckan/controllers/package.py b/ckan/controllers/package.py
index 46b8cd185fa..69769066dc2 100644
--- a/ckan/controllers/package.py
+++ b/ckan/controllers/package.py
@@ -186,6 +186,9 @@ def pager_url(q=None, page=None):
try:
c.fields = []
+ # c.fields_grouped will contain a dict of params containing
+ # a list of values eg {'tags':['tag1', 'tag2']}
+ c.fields_grouped = {}
search_extras = {}
fq = ''
for (param, value) in request.params.items():
@@ -194,6 +197,10 @@ def pager_url(q=None, page=None):
if not param.startswith('ext_'):
c.fields.append((param, value))
fq += ' %s:"%s"' % (param, value)
+ if param not in c.fields_grouped:
+ c.fields_grouped[param] = [value]
+ else:
+ c.fields_grouped[param].append(value)
else:
search_extras[param] = value
diff --git a/ckan/templates/package/search.html b/ckan/templates/package/search.html
index e6c138e52d9..e5153d0e310 100644
--- a/ckan/templates/package/search.html
+++ b/ckan/templates/package/search.html
@@ -33,15 +33,17 @@
Sorry no datasets found for ${c.q}
All datasets
-
+
${c.facet_titles.get(field)}:
-
-
- ${c.translated_fields[(field,value)]}
-
- ${value}
- [remove]
-
+
+
+
+ ${c.translated_fields[(field,value)]}
+
+ ${value}
+ [remove]
+
+