diff --git a/apiserver/metricsender/metricsender.go b/apiserver/metricsender/metricsender.go
index <HASH>..<HASH> 100644
--- a/apiserver/metricsender/metricsender.go
+++ b/apiserver/metricsender/metricsender.go
@@ -47,7 +47,7 @@ func handleResponse(mm *state.MetricsManager, st ModelBackend, response wireform
 			}
 		}
 	}
-	if response.NewGracePeriod > 0 {
+	if response.NewGracePeriod > 0 && response.NewGracePeriod != mm.GracePeriod() {
 		err := mm.SetGracePeriod(response.NewGracePeriod)
 		if err != nil {
 			logger.Errorf("failed to set new grace period %v", err)
Fixed set grace period.

We do not need to set the grace period on every send/receive if it is not changed.