diff --git a/proofmode/tactics.v b/proofmode/tactics.v
index 00c6b395a5ee5627aeb3a50cf79d2702a1c15e4e..ec00c04ab4e70ee0c9ba9d198b65f9ecf7c829bd 100644
--- a/proofmode/tactics.v
+++ b/proofmode/tactics.v
@@ -47,6 +47,7 @@ Tactic Notation "iProof" :=
   | |- of_envs _ ⊢ _ => fail "iProof: already in Iris proofmode"
   | |- True ⊢ _ => apply tac_adequate
   | |- _ ⊢ _ => apply uPred.wand_entails, tac_adequate
+  | |- _ ⊣⊢ _ => apply uPred.iff_equiv, tac_adequate
   end.
 
 (** * Context manipulation *)
@@ -508,12 +509,12 @@ Local Tactic Notation "iOrDestruct" constr(H) "as" constr(H1) constr(H2) :=
 
 (** * Conjunction and separating conjunction *)
 Tactic Notation "iSplit" :=
+  try iProof;
   lazymatch goal with
   | |- _ ⊢ _ =>
     eapply tac_and_split;
       [let P := match goal with |- FromAnd ?P _ _ => P end in
        apply _ || fail "iSplit:" P "not a conjunction"| |]
-  | |- _ ⊣⊢ _ => apply (anti_symm (⊢))
   end.
 
 Tactic Notation "iSplitL" constr(Hs) :=