diff --git a/proofmode/pviewshifts.v b/proofmode/pviewshifts.v
index f99165ba0934b51fcc5a87885ffd0cc537413cb4..d5e8f86a8e79c604f0c6e78647182aafe0e4de8d 100644
--- a/proofmode/pviewshifts.v
+++ b/proofmode/pviewshifts.v
@@ -23,7 +23,7 @@ Proof.
 Qed.
 Global Instance frame_pvs E1 E2 R P mQ :
   Frame R P mQ →
-  Frame R (|={E1,E2}=> P) (Some (|={E1,E2}=> from_option True mQ))%I.
+  Frame R (|={E1,E2}=> P) (Some (|={E1,E2}=> if mQ is Some Q then Q else True))%I.
 Proof. rewrite /Frame=><-. by rewrite pvs_frame_l. Qed.
 Global Instance to_wand_pvs E1 E2 R P Q :
   ToWand R P Q → ToWand R (|={E1,E2}=> P) (|={E1,E2}=> Q).
@@ -32,12 +32,15 @@ Proof. rewrite /ToWand=>->. apply wand_intro_l. by rewrite pvs_wand_r. Qed.
 Class FSASplit {A} (P : iProp Λ Σ) (E : coPset)
     (fsa : FSA Λ Σ A) (fsaV : Prop) (Φ : A → iProp Λ Σ) := {
   fsa_split : fsa E Φ ⊢ P;
-  fsa_split_fsa :> FrameShiftAssertion fsaV fsa;
+  fsa_split_is_fsa :> FrameShiftAssertion fsaV fsa;
 }.
 Global Arguments fsa_split {_} _ _ _ _ _ {_}.
 Global Instance fsa_split_pvs E P :
   FSASplit (|={E}=> P)%I E pvs_fsa True (λ _, P).
 Proof. split. done. apply _. Qed.
+Global Instance fsa_split_fsa {A} (fsa : FSA Λ Σ A) E Φ :
+  FrameShiftAssertion fsaV fsa → FSASplit (fsa E Φ) E fsa fsaV Φ.
+Proof. done. Qed.
 
 Lemma tac_pvs_intro Δ E Q : Δ ⊢ Q → Δ ⊢ |={E}=> Q.
 Proof. intros ->. apply pvs_intro. Qed.