diff --git a/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map-expected.txt b/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map-expected.txt
new file mode 100644
index 000000000000..c71eeb12862c
--- /dev/null
+++ b/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map-expected.txt
@@ -0,0 +1,7 @@
+3 + 0.04705462933069371 Hello 5 8 32
+0.031199150079379234
++
+0.5793669244427325
+π
+0.5848220454729857
+
diff --git a/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map.html b/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map.html
new file mode 100644
index 000000000000..99e7bf59af20
--- /dev/null
+++ b/LayoutTests/fast/layers/accumulated-offset-overflow-Render-geometry-map.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+3
++
+0.04705462933069371
+Hello
+5
+8
+
+32
+
+
+
diff --git a/Source/WebCore/rendering/RenderGeometryMap.cpp b/Source/WebCore/rendering/RenderGeometryMap.cpp
index 73d4f1031b4c..e04e38b067d7 100644
--- a/Source/WebCore/rendering/RenderGeometryMap.cpp
+++ b/Source/WebCore/rendering/RenderGeometryMap.cpp
@@ -111,7 +111,7 @@ FloatPoint RenderGeometryMap::mapToContainer(const FloatPoint& p, const RenderLa
TransformState transformState(m_useCSS3DTransformInterop, TransformState::ApplyTransformDirection, p);
mapToContainer(transformState, container);
result = transformState.lastPlanarPoint();
- ASSERT(areEssentiallyEqual(rendererMappedResult, result));
+ ASSERT(m_accumulatedOffsetMightBeSaturated || areEssentiallyEqual(rendererMappedResult, result));
}
return result;