diff --git a/ewma/rate.go b/ewma/rate.go
index <HASH>..<HASH> 100644
--- a/ewma/rate.go
+++ b/ewma/rate.go
@@ -62,7 +62,7 @@ func (r *EwmaRate) Current(now time.Time) float64 {
 		return 0
 	}
 
-	if r.Ewma.lastTimestamp == now {
+	if r.Ewma.lastTimestamp == now || now.Before(r.Ewma.lastTimestamp) {
 		return r.Ewma.Current
 	}
ewma: handle a situation of time going back

or race condition between code reading and updating rates