diff --git a/theories/algebra/local_updates.v b/theories/algebra/local_updates.v
index 920ae9a31029dedf850cdf08e236a4733c3dd6a2..6801268688cf11d35e1896a2ca5fde9644c806b1 100644
--- a/theories/algebra/local_updates.v
+++ b/theories/algebra/local_updates.v
@@ -52,6 +52,13 @@ Section updates.
     apply (cancelableN x); first done. by rewrite -cmra_op_opM_assoc.
   Qed.
 
+  Lemma replace_local_update x y `{!IdFree x} :
+    ✓ y → (x, x) ~l~> (y, y).
+  Proof.
+    intros ? n mz ? Heq; simpl in *; split; first by apply cmra_valid_validN.
+    destruct mz as [z|]; [|done]. by destruct (id_freeN_r n n x z).
+  Qed.
+
   Lemma local_update_discrete `{!CmraDiscrete A} (x y x' y' : A) :
     (x,y) ~l~> (x',y') ↔ ∀ mz, ✓ x → x ≡ y ⋅? mz → ✓ x' ∧ x' ≡ y' ⋅? mz.
   Proof.