diff --git a/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/MutableSessionCreationMetaData.java b/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/MutableSessionCreationMetaData.java
index <HASH>..<HASH> 100644
--- a/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/MutableSessionCreationMetaData.java
+++ b/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/MutableSessionCreationMetaData.java
@@ -57,8 +57,10 @@ public class MutableSessionCreationMetaData implements SessionCreationMetaData {
 
     @Override
     public void setMaxInactiveInterval(Duration duration) {
-        this.metaData.setMaxInactiveInterval(duration);
-        this.mutator.mutate();
+        if (!this.metaData.getMaxInactiveInterval().equals(duration)) {
+            this.metaData.setMaxInactiveInterval(duration);
+            this.mutator.mutate();
+        }
     }
 
     @Override
Skip redundant mutate if maxInactiveInterval did not change.