diff --git a/src/client/components/facet_bar/ActiveFilters.js b/src/client/components/facet_bar/ActiveFilters.js
index 57bae263cbbb5814010f6a7c298a71a887e0b44f..f5d9855c77e5cd24a95056b111d6d1f8a8b4e04a 100644
--- a/src/client/components/facet_bar/ActiveFilters.js
+++ b/src/client/components/facet_bar/ActiveFilters.js
@@ -37,6 +37,7 @@ const ActiveFilters = props => {
       facetClass={props.facetClass}
       updateFacetOption={props.updateFacetOption}
       someFacetIsFetching={someFacetIsFetching}
+      fetchFacet={props.fetchFacet}
     />
   );
 };
@@ -49,7 +50,8 @@ ActiveFilters.propTypes = {
   textFilters: PropTypes.object.isRequired,
   timespanFilters: PropTypes.object.isRequired,
   updateFacetOption: PropTypes.func.isRequired,
-  someFacetIsFetching: PropTypes.bool.isRequired
+  someFacetIsFetching: PropTypes.bool.isRequired,
+  fetchFacet: PropTypes.func.isRequired
 };
 
 export default ActiveFilters;
diff --git a/src/client/components/facet_bar/ChipsArray.js b/src/client/components/facet_bar/ChipsArray.js
index d21a9e6b310ff5cad0205b74658eec0a2d0f4664..a706f7f8febeb63d392adb94917df63001323562 100644
--- a/src/client/components/facet_bar/ChipsArray.js
+++ b/src/client/components/facet_bar/ChipsArray.js
@@ -19,13 +19,35 @@ class ChipsArray extends React.Component {
 
   handleDelete = item => () => {
     if (!this.props.someFacetIsFetching) {
-      if (item.filterType === 'uriFilter') {
-        this.props.updateFacetOption({
-          facetClass: this.props.facetClass,
-          facetID: item.facetID,
-          option: item.filterType,
-          value: item.value
-        });
+      switch(item.filterType) {
+        case 'uriFilter':
+          this.props.updateFacetOption({
+            facetClass: this.props.facetClass,
+            facetID: item.facetID,
+            option: item.filterType,
+            value: item.value
+          });
+          break;
+        case 'textFilter':
+          this.props.updateFacetOption({
+            facetClass: this.props.facetClass,
+            facetID: item.facetID,
+            option: item.filterType,
+            value: null
+          });
+          break;
+        case 'timespanFilter': {    
+          this.props.updateFacetOption({
+            facetClass: this.props.facetClass,
+            facetID: item.facetID,
+            option: item.filterType,
+            value: null
+          });
+          this.props.fetchFacet({
+            facetClass: this.props.facetClass,
+            facetID: item.facetID,
+          });
+        }
       }
     }
   };
@@ -91,7 +113,8 @@ ChipsArray.propTypes = {
   data: PropTypes.array.isRequired,
   facetClass: PropTypes.string.isRequired,
   updateFacetOption: PropTypes.func.isRequired,
-  someFacetIsFetching: PropTypes.bool.isRequired
+  someFacetIsFetching: PropTypes.bool.isRequired,
+  fetchFacet: PropTypes.func.isRequired
 };
 
 export default withStyles(styles)(ChipsArray);
diff --git a/src/client/components/facet_bar/FacetBar.js b/src/client/components/facet_bar/FacetBar.js
index de48ee61dd6d11d3d1adf1f3592dd22a93389e84..1b025d82a68d704b821f41aaecf630f3a1a93487 100644
--- a/src/client/components/facet_bar/FacetBar.js
+++ b/src/client/components/facet_bar/FacetBar.js
@@ -193,6 +193,7 @@ class FacetBar extends React.Component {
             updateFacetOption={this.props.updateFacetOption}
             fetchResultCount={this.props.fetchResultCount}
             someFacetIsFetching={someFacetIsFetching}
+            fetchFacet={this.props.fetchFacet}
           />
         </Paper>
         {Object.keys(facets).map(facetID => this.renderFacet(facetID, someFacetIsFetching))}
diff --git a/src/client/components/facet_bar/FacetInfo.js b/src/client/components/facet_bar/FacetInfo.js
index a294af002a768533d5bed0504fcb99a39a3a0e3a..e694b60bf16f1404d6555a14da50e01c65ed1e8e 100644
--- a/src/client/components/facet_bar/FacetInfo.js
+++ b/src/client/components/facet_bar/FacetInfo.js
@@ -91,6 +91,7 @@ class FacetInfo extends React.Component {
                 timespanFilters={timespanFilters}
                 updateFacetOption={this.props.updateFacetOption}
                 someFacetIsFetching={someFacetIsFetching}
+                fetchFacet={this.props.fetchFacet}
               />
             </div>
             <Divider className={classes.facetInfoDivider} />
@@ -112,7 +113,8 @@ FacetInfo.propTypes = {
   fetchingResultCount: PropTypes.bool.isRequired,
   updateFacetOption: PropTypes.func.isRequired,
   fetchResultCount: PropTypes.func.isRequired,
-  someFacetIsFetching: PropTypes.bool.isRequired
+  someFacetIsFetching: PropTypes.bool.isRequired,
+  fetchFacet: PropTypes.func.isRequired
 };
 
 export default withStyles(styles)(FacetInfo);
diff --git a/src/client/reducers/helpers.js b/src/client/reducers/helpers.js
index 2bff9ba5efac41d7c5b02a98e2d85fa0643dac87..586a69f174e7a08930567f11b650d144c7cb7e53 100644
--- a/src/client/reducers/helpers.js
+++ b/src/client/reducers/helpers.js
@@ -116,13 +116,20 @@ const updateFacetFilter = (state, action) => {
       textFilter: value
     };
   } else if (oldFacet.filterType === 'timespanFilter') {
-    newFacet = {
-      ...state.facets[facetID],
-      timespanFilter: {
-        start: value[0],
-        end: value[1]
-      }
-    };
+    if (value == null) {
+      newFacet = {
+        ...state.facets[facetID],
+        timespanFilter: null
+      };
+    } else {
+      newFacet = {
+        ...state.facets[facetID],
+        timespanFilter: {
+          start: value[0],
+          end: value[1]
+        }
+      };
+    }
   }
   return {
     ...state,