diff --git a/bundles/org.openhab.core.model.rule.runtime/src/org/openhab/core/model/rule/runtime/internal/DSLRuleProvider.java b/bundles/org.openhab.core.model.rule.runtime/src/org/openhab/core/model/rule/runtime/internal/DSLRuleProvider.java index 35122a40f7d..5829e63e91f 100644 --- a/bundles/org.openhab.core.model.rule.runtime/src/org/openhab/core/model/rule/runtime/internal/DSLRuleProvider.java +++ b/bundles/org.openhab.core.model.rule.runtime/src/org/openhab/core/model/rule/runtime/internal/DSLRuleProvider.java @@ -158,7 +158,8 @@ public void modelChanged(String modelFileName, EventType type) { int index = 1; for (org.openhab.core.model.rule.rules.Rule rule : ruleModel.getRules()) { Rule newRule = toRule(ruleModelName, rule, index); - Rule oldRule = rules.get(ruleModelName); + Rule oldRule = rules.remove(ruleModelName); + rules.put(newRule.getUID(), newRule); xExpressions.put(ruleModelName + "-" + index, rule.getScript()); modelRules.add(new ModelRulePair(newRule, oldRule)); index++;