diff --git a/tsdb/engine/tsm1/cache.go b/tsdb/engine/tsm1/cache.go
index dbeb3d81de..a208804ca7 100644
--- a/tsdb/engine/tsm1/cache.go
+++ b/tsdb/engine/tsm1/cache.go
@@ -288,7 +288,7 @@ func (c *Cache) ValuesRange(key string, min, max uint64) Values {
 	if values == nil {
 		return nil
 	}
-	return values.Deduplicate()
+	return values.Deduplicate(true)
 }
 
 // evict instructs the cache to evict data up to and including the current checkpoint.
diff --git a/tsdb/engine/tsm1/compact.go b/tsdb/engine/tsm1/compact.go
index 92a0e456f1..54ecb4cee3 100644
--- a/tsdb/engine/tsm1/compact.go
+++ b/tsdb/engine/tsm1/compact.go
@@ -403,7 +403,7 @@ func (m *MergeIterator) Next() bool {
 		}
 
 		if dedup {
-			m.values = Values(m.values).Deduplicate()
+			m.values = Values(m.values).Deduplicate(true)
 		}
 
 		// We need to find the index of the min and max values that are within
@@ -643,7 +643,7 @@ func (k *tsmKeyIterator) Next() bool {
 				} else if values[len(values)-1].Time().Before(existing[0].Time()) {
 					k.values[key] = append(values, existing...)
 				} else {
-					k.values[key] = Values(append(existing, values...)).Deduplicate()
+					k.values[key] = Values(append(existing, values...)).Deduplicate(true)
 				}
 			}
 		}