diff --git a/engine/physics/src/physics.rs b/engine/physics/src/physics.rs
index 6750e23..65479c0 100644
--- a/engine/physics/src/physics.rs
+++ b/engine/physics/src/physics.rs
@@ -799,7 +799,7 @@ impl TouchingState{
 				// check if the face across the out_edge is flush to contact.face_id
 				let (src_face_n,_src_face_d)=minkowski.face_nd(contact.face_id);
 				// the face across may be left or right depending on the directed edge parity
-				let dst_face=minkowski.edge_faces(out_edge.as_undirected()).as_ref()[!out_edge.parity() as usize];
+				let dst_face=minkowski.edge_faces(out_edge.as_undirected()).as_ref()[out_edge.parity() as usize];
 				let (dst_face_n,_dst_face_d)=minkowski.face_nd(dst_face);
 				// are they exactly flush
 				if src_face_n.cross(dst_face_n)==vec3::ZERO_6