diff --git a/theories/program_logic/language.v b/theories/program_logic/language.v
index a1a6b7c6d58f22106136b87e8888fa5479dd8079..60d95f5b930e754bdc3ad55ebf57aef3eadb7276 100644
--- a/theories/program_logic/language.v
+++ b/theories/program_logic/language.v
@@ -161,6 +161,12 @@ Section language.
     to_val e = None → irreducible e σ → irreducible (K e) σ.
   Proof. rewrite -!not_reducible. naive_solver eauto using reducible_fill. Qed.
 
+  Lemma stuck_fill `{!@LanguageCtx Λ K} e σ :
+    stuck e σ → stuck (K e) σ.
+  Proof.
+    intros ST. split; [by apply fill_not_val, ST|apply irreducible_fill; apply ST].
+  Qed.
+
   Lemma step_Permutation (t1 t1' t2 : list (expr Λ)) κ σ1 σ2 :
     t1 ≡ₚ t1' → step (t1,σ1) κ (t2,σ2) → ∃ t2', t2 ≡ₚ t2' ∧ step (t1',σ1) κ (t2',σ2).
   Proof.