--- a/net/minecraft/world/waypoints/WaypointTransmitter.java
+++ b/net/minecraft/world/waypoints/WaypointTransmitter.java
@@ -20,6 +_,7 @@
     Waypoint.Icon waypointIcon();
 
     static boolean doesSourceIgnoreReceiver(LivingEntity entity, ServerPlayer player) {
+        if (!player.getBukkitEntity().canSee(entity.getBukkitEntity())) return true; // Paper - ignore if entity is hidden from player
         if (player.isSpectator()) {
             return false;
         } else if (!entity.isSpectator() && !entity.hasIndirectPassenger(player)) {
