diff --git a/theories/fin_maps.v b/theories/fin_maps.v
index b163bef29cda2a1264bde8f1840ce780ef81ad71..6295991ceaaad50616f9028b10a2ae9b00f1e3c5 100644
--- a/theories/fin_maps.v
+++ b/theories/fin_maps.v
@@ -1988,6 +1988,9 @@ Proof. apply lookup_union_with. Qed.
 Lemma lookup_union_r {A} (m1 m2 : M A) i :
   m1 !! i = None → (m1 ∪ m2) !! i = m2 !! i.
 Proof. intros Hi. by rewrite lookup_union, Hi, (left_id_L _ _).  Qed.
+Lemma lookup_union_l {A} (m1 m2 : M A) i :
+  is_Some (m1 !! i) → (m1 ∪ m2) !! i = m1 !! i.
+Proof. intros [x Hi]. rewrite lookup_union, Hi. by destruct (m2 !! i). Qed.
 Lemma lookup_union_Some_raw {A} (m1 m2 : M A) i x :
   (m1 ∪ m2) !! i = Some x ↔
     m1 !! i = Some x ∨ (m1 !! i = None ∧ m2 !! i = Some x).