diff --git a/src/client/components/facet_bar/ActiveFilters.js b/src/client/components/facet_bar/ActiveFilters.js
index d8bec99bd8bb74108d4f55f76a978542152226a6..3a9f8475765aab9de51fa3f25cc30e0171cf5c57 100644
--- a/src/client/components/facet_bar/ActiveFilters.js
+++ b/src/client/components/facet_bar/ActiveFilters.js
@@ -3,29 +3,32 @@ import PropTypes from 'prop-types';
 import ChipsArray from './ChipsArray';
 
 const ActiveFilters = props => {
-  const { uriFilters, facets } = props;
+  const { uriFilters, textFilters, facets } = props;
+  const facetValues = [];
+  Object.keys(uriFilters).map(activeFacetID => {
+    Object.values(uriFilters[activeFacetID]).forEach(value => {
+      facetValues.push({
+        facetID: activeFacetID,
+        facetLabel: facets[activeFacetID].label,
+        filterType: 'uriFilter',
+        value: value // a react sortable tree object
+      });
+    });
+  });
+  Object.keys(textFilters).map(facetID => {
+    facetValues.push({
+      facetID: facetID,
+      facetLabel: facets[facetID].label,
+      filterType: 'textFilter',
+      value: textFilters[facetID]
+    });
+  });
   return (
-    <React.Fragment>
-      {Object.keys(uriFilters).map(facetID => {
-        const facetValues = [];
-        Object.values(uriFilters[facetID]).forEach(value => {
-          facetValues.push({
-            facetID: facetID,
-            facetLabel: facets[facetID].label,
-            filterType: 'uriFilter',
-            value: value // a react sortable tree object
-          });
-        });
-        return (
-          <ChipsArray
-            key={facetID}
-            data={facetValues}
-            facetClass={props.facetClass}
-            updateFacetOption={props.updateFacetOption}
-          />
-        );
-      })}
-    </React.Fragment>
+    <ChipsArray
+      data={facetValues}
+      facetClass={props.facetClass}
+      updateFacetOption={props.updateFacetOption}
+    />
   );
 };
 
@@ -34,6 +37,7 @@ ActiveFilters.propTypes = {
   facetClass: PropTypes.string.isRequired,
   uriFilters: PropTypes.object.isRequired,
   spatialFilters: PropTypes.object.isRequired,
+  textFilters: PropTypes.object.isRequired,
   updateFacetOption: PropTypes.func.isRequired
 };
 
diff --git a/src/client/components/facet_bar/ChipsArray.js b/src/client/components/facet_bar/ChipsArray.js
index b5af4d16f215bafa553196c6eb442bdc4fcb3419..fee088b08de9aa09405d08d3268b37ce18e9456f 100644
--- a/src/client/components/facet_bar/ChipsArray.js
+++ b/src/client/components/facet_bar/ChipsArray.js
@@ -37,12 +37,21 @@ class ChipsArray extends React.Component {
       <div className={classes.root}>
         {data !== null && data.map(item => {
           let icon = null;
+          let key = null;
+          let valueLabel = null;
+          if (item.filterType === 'uriFilter') {
+            key = item.value.node.id;
+            valueLabel = item.value.node.prefLabel;
+          }
+          if (item.filterType === 'textFilter') {
+            key = item.value;
+            valueLabel = item.value;
+          }
           return (
             <Chip
-              key={item.value.node.id}
+              key={key}
               icon={icon}
-              label={this.generateLabel(item.facetLabel, item.value.node.prefLabel)}
-            
+              label={this.generateLabel(item.facetLabel, valueLabel)}
               className={classes.chip}
             />
           );
diff --git a/src/client/components/facet_bar/FacetBar.js b/src/client/components/facet_bar/FacetBar.js
index 0aec0b1389fb39ab4a9d40fd1bc62eaf524bd9ff..caa8ea87c29916a4f974b555ff03016ca57b1773 100644
--- a/src/client/components/facet_bar/FacetBar.js
+++ b/src/client/components/facet_bar/FacetBar.js
@@ -143,26 +143,31 @@ class FacetBar extends React.Component {
     const { facets } = this.props.facetData;
     let uriFilters = {};
     let spatialFilters = {};
+    let textFilters = {};
     let activeUriFilters = false;
     let activeSpatialFilters = false;
+    let activeTextFilters = false;
     for (const [key, value] of Object.entries(facets)) {
-      if (value.uriFilter !== null) {
+      if (has(value, 'uriFilter') && value.uriFilter !== null) {
         activeUriFilters = true;
         uriFilters[key] = value.uriFilter;
-      } else if (has(value, 'spatialFilter') && value.spatialFilter !== null) {
+      }
+      if (has(value, 'spatialFilter') && value.spatialFilter !== null) {
         activeSpatialFilters = true;
         spatialFilters[key] = value.spatialFilter._bounds;
       }
+      if (has(value, 'textFilter') && value.textFilter !== null) {
+        activeTextFilters = true;
+        textFilters[key] = value.textFilter;
+      }
     }
-
-
     return (
       <div className={classes.root}>
         <Paper className={classes.facetContainer}>
           <div className={classes.textContainer}>
             <Typography variant="h6">Results: {resultCount} {resultClass}</Typography>
             <Divider className={classes.resultInfoDivider} />
-            {(activeUriFilters || activeSpatialFilters) &&
+            {(activeUriFilters || activeSpatialFilters || activeTextFilters) &&
               <React.Fragment>
                 <Typography variant="h6">Active filters:</Typography>
                 <div className={classes.textContainer}>
@@ -171,6 +176,7 @@ class FacetBar extends React.Component {
                     facetClass={facetClass}
                     uriFilters={uriFilters}
                     spatialFilters={spatialFilters}
+                    textFilters={textFilters}
                     updateFacetOption={this.props.updateFacetOption}
                   />
                 </div>
diff --git a/src/client/epics/index.js b/src/client/epics/index.js
index 246cac32d89fbc0e8673da82fb0508ca444168c1..5d0bab46fbc63405feab1784a45689fd1629abb5 100644
--- a/src/client/epics/index.js
+++ b/src/client/epics/index.js
@@ -223,7 +223,7 @@ export const stateToUrl = ({
   let activeSpatialFilters = false;
   let activeTextFilters = false;
   for (const [key, value] of Object.entries(facets)) {
-    if (value.uriFilter !== null) {
+    if (has(value, 'uriFilter') && value.uriFilter !== null) {
       activeUriFilters = true;
       uriFilters[key] = Object.keys(value.uriFilter);
     } else if (has(value, 'spatialFilter') && value.spatialFilter !== null) {
diff --git a/src/client/reducers/manuscriptsFacets.js b/src/client/reducers/manuscriptsFacets.js
index f8e2077ea2cd96dc6ed5bdc8f6f395c9938c483e..ea6bfe8555abc9c5c5c1d4af8ff9dcb20b028e56 100644
--- a/src/client/reducers/manuscriptsFacets.js
+++ b/src/client/reducers/manuscriptsFacets.js
@@ -31,7 +31,6 @@ export const INITIAL_STATE = {
       searchField: false,
       containerClass: 'one',
       filterType: 'textFilter',
-      uriFilter: null,
       textFilter: null,
     },
     source: {
diff --git a/src/server/index.js b/src/server/index.js
index c16b36238af97cb08a02d09615886a328ce751c6..4a76b69310c558da24e06c45fcc16452782cb57f 100644
--- a/src/server/index.js
+++ b/src/server/index.js
@@ -54,7 +54,7 @@ app.get(`${apiPath}/:resultClass/all`, async (req, res, next) => {
       variant: req.query.variant || null,
     });
     res.json({
-      resultCount: data.count,
+      resultCount: data.length,
       results: data
     });
   } catch(error) {
diff --git a/src/server/sparql/FacetResults.js b/src/server/sparql/FacetResults.js
index 926ab42eae433167c64a65861d8e99ab5cd8e4a4..7a7f6d1c60da83a2c56a95d13f19bf0166147859 100644
--- a/src/server/sparql/FacetResults.js
+++ b/src/server/sparql/FacetResults.js
@@ -61,6 +61,7 @@ export const getAllResults = ({
   facetClass,
   uriFilters,
   spatialFilters,
+  textFilters,
   variant
 }) => {
   let q = '';
@@ -79,13 +80,17 @@ export const getAllResults = ({
       filterTarget = 'manuscript__id';
       break;
   }
-  if (uriFilters == null && spatialFilters == null) {
+  const hasFilters = uriFilters !== null
+    || spatialFilters !== null
+    || textFilters !== null;
+  if (!hasFilters) {
     q = q.replace('<FILTER>', '# no filters');
   } else {
     q = q.replace('<FILTER>', generateFilter({
       facetClass: facetClass,
       uriFilters: uriFilters,
       spatialFilters: spatialFilters,
+      textFilters: textFilters,
       filterTarget: filterTarget,
       facetID: null
     }));