diff --git a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
index 499bfbc..2f62f45 100644
--- a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
@@ -69,7 +69,7 @@
             for (int i = 0; i < sortedRules.length; i++) {
                 ZenRulePreference pref = (ZenRulePreference) mPreferenceCategory.getPreference(i);
                 // we are either:
-                // 1. updating the enabled state or name of the rule
+                // 1. updating everything about the rule
                 // 2. rule was added or deleted, so reload the entire list
                 if (Objects.equals(pref.mId, sortedRules[i].getKey())) {
                     AutomaticZenRule rule = sortedRules[i].getValue();
diff --git a/src/com/android/settings/notification/ZenRulePreference.java b/src/com/android/settings/notification/ZenRulePreference.java
index 8bc602a..fb6e92a 100644
--- a/src/com/android/settings/notification/ZenRulePreference.java
+++ b/src/com/android/settings/notification/ZenRulePreference.java
@@ -49,7 +49,7 @@
     final ZenServiceListing mServiceListing;
     final PackageManager mPm;
     final MetricsFeatureProvider mMetricsFeatureProvider;
-    final AutomaticZenRule mRule;
+    AutomaticZenRule mRule;
     CharSequence mName;
 
     private Intent mIntent;
@@ -122,14 +122,14 @@
         if (!mRule.getName().equals(rule.getName())) {
             mName = rule.getName();
             setTitle(mName);
-            mRule.setName(mName.toString());
         }
 
         if (mRule.isEnabled() != rule.isEnabled()) {
-            mRule.setEnabled(rule.isEnabled());
             setChecked(mRule.isEnabled());
             setSummary(computeRuleSummary(mRule));
         }
+
+        mRule = rule;
     }
 
     @Override
