#2 parity with js: mapbox/delaunator@d7a7ce6
diff --git a/include/delaunator.hpp b/include/delaunator.hpp
index 17ac031..4bfb240 100644
--- a/include/delaunator.hpp
+++ b/include/delaunator.hpp
@@ -557,7 +557,8 @@
     const double dx = x - m_center_x;
     const double dy = y - m_center_y;
     return static_cast<std::size_t>(std::llround(
-        std::floor(pseudo_angle(dx, dy) * static_cast<double>(m_hash_size))));
+               std::floor(pseudo_angle(dx, dy) * static_cast<double>(m_hash_size)))) %
+           m_hash_size;
 }
 
 void Delaunator::hash_edge(std::size_t e) {