diff --git a/src/main/java/com/sk89q/worldguard/session/Session.java b/src/main/java/com/sk89q/worldguard/session/Session.java index 55c2f9da..c9e5de32 100644 --- a/src/main/java/com/sk89q/worldguard/session/Session.java +++ b/src/main/java/com/sk89q/worldguard/session/Session.java @@ -206,9 +206,11 @@ public Location testMoveTo(Player player, Location to, MoveType moveType, boolea Set entered = Sets.difference(toSet.getRegions(), lastRegionSet); Set exited = Sets.difference(lastRegionSet, toSet.getRegions()); - for (Handler handler : handlers.values()) { - if (!handler.onCrossBoundary(player, lastValid, to, toSet, entered, exited, moveType) && moveType.isCancellable()) { - return lastValid; + if (!entered.isEmpty() || !exited.isEmpty()) { + for (Handler handler : handlers.values()) { + if (!handler.onCrossBoundary(player, lastValid, to, toSet, entered, exited, moveType) && moveType.isCancellable()) { + return lastValid; + } } }