diff --git a/proofmode/tactics.v b/proofmode/tactics.v
index 49e373371c9428544909a353b691b5830fc5199d..dcf66b391b5f1d69ed2c6a81e789f9b470328b0b 100644
--- a/proofmode/tactics.v
+++ b/proofmode/tactics.v
@@ -508,14 +508,15 @@ Tactic Notation "iTimeless" constr(H) :=
 Tactic Notation "iVsIntro" :=
   eapply tac_vs_intro;
     [let P := match goal with |- FromVs ?P _ => P end in
-     apply _ || fail "iVsIntro:" P "not a viewshift"|].
+     apply _ || fail "iVsIntro:" P "not a view shift"|].
 
 Tactic Notation "iVsCore" constr(H) :=
   eapply tac_vs_elim with _ H _ _ _ _;
     [env_cbv; reflexivity || fail "iVs:" H "not found"
     |let P := match goal with |- ElimVs ?P _ _ _ => P end in
-     let Q := match goal with |- ElimVs _ _ _ ?Q => Q end in
-     apply _ || fail "iVs: cannot eliminate" H ":" P "in" Q
+     let Q := match goal with |- ElimVs _ _ ?Q _ => Q end in
+     apply _ || fail "iVs: cannot run" H ":" P "in" Q
+                     "because the goal or hypothesis is not a view shift"
     |env_cbv; reflexivity|].
 
 (** * Basic destruct tactic *)