diff --git a/detector-framework/src/main/java/org/lcsim/detector/solids/AbstractPolyhedron.java b/detector-framework/src/main/java/org/lcsim/detector/solids/AbstractPolyhedron.java
index 7a642c84539234365786b0d6a47b9e3a52951d27..2734e7d38657c1854b6bc1b0d39ba7bea45f0e44 100644
--- a/detector-framework/src/main/java/org/lcsim/detector/solids/AbstractPolyhedron.java
+++ b/detector-framework/src/main/java/org/lcsim/detector/solids/AbstractPolyhedron.java
@@ -36,7 +36,8 @@ public abstract class AbstractPolyhedron extends AbstractSolid implements IPolyh
         for (Polygon3D face : getFaces())
         {
             if (GeomOp3D.intersects(point,face)) return Inside.SURFACE;
-            inside = inside && (GeomOp3D.distanceBetween(point,face.getPlane()) < 0);
+            if (!(inside = inside && GeomOp3D.distanceBetween(point,face.getPlane()) < 0))
+		break;
         }
         
         if (inside) return Inside.INSIDE;