diff --git a/lib/storage/index_db.go b/lib/storage/index_db.go
index ce19848838..d4b4704f18 100644
--- a/lib/storage/index_db.go
+++ b/lib/storage/index_db.go
@@ -1388,6 +1388,11 @@ func (is *indexSearch) getTagFilterWithMinMetricIDsCount(tfs *TagFilters, maxMet
 		if err != nil {
 			if err == errFallbackToMetricNameMatch {
 				// Skip tag filters requiring to scan for too many metrics.
+				kb.B = append(kb.B[:0], uselessSingleTagFilterKeyPrefix)
+				kb.B = encoding.MarshalUint64(kb.B, uint64(maxMetrics))
+				kb.B = tf.Marshal(kb.B)
+				is.db.uselessTagFiltersCache.Set(kb.B, uselessTagFilterCacheValue)
+				uselessTagFilters++
 				continue
 			}
 			return nil, nil, fmt.Errorf("cannot find MetricIDs for tagFilter %s: %s", tf, err)