diff --git a/benchmarks/bugs/poisson.geo b/benchmarks/bugs/poisson.geo
new file mode 100644
index 0000000000000000000000000000000000000000..4097ccf12d3dc0c0af37f429ec1128722301772f
--- /dev/null
+++ b/benchmarks/bugs/poisson.geo
@@ -0,0 +1,50 @@
+Point (1) = {0, 0, 0, 1};
+Point (2) = {500, 0, 0, 1};
+Point (3) = {500, 25, 0, 1};
+Point (4) = {0, 25, 0, 1};
+Point (5) = {0, -2000, 0, 1};
+Point (6) = {2000, -2000, 0, 1};
+Point (7) = {2000, 0, 0, 1};
+Point (8) = {1500, 0, 0, 1};
+Point (9) = {1500, 25, 0, 1};
+Point (10) = {2000, 25, 0, 1};
+Point (11) = {2000, 50, 0, 1};
+Point (12) = {0, 50, 0, 1};
+Point (13) = {525, 50, 0, 1};
+Point (14) = {525, 25, 0, 1};
+Point (15) = {1475, 25, 0, 1};
+Point (16) = {1475, 50, 0, 1};
+Point (17) = {0, 2000, 0, 1};
+Point (18) = {2000, 2000, 0, 1};
+Line (1) = {1, 2};
+Line (2) = {2, 3};
+Line (3) = {3, 4};
+Line (4) = {4, 1};
+Line (5) = {7, 8};
+Line (6) = {9, 8};
+Line (7) = {9, 10};
+Line (8) = {10, 7};
+Line (9) = {10, 11};
+Line (10) = {11, 16};
+Line (11) = {16, 15};
+Line (12) = {15, 14};
+Line (13) = {14, 13};
+Line (14) = {13, 12};
+Line (15) = {12, 4};
+Line (16) = {2, 8};
+Line (17) = {5, 1};
+Line (18) = {5, 6};
+Line (19) = {6, 7};
+Line (20) = {17, 18};
+Line (21) = {18, 11};
+Line (22) = {17, 12};
+Line Loop (24) = {20, 21, 10, 11, 12, 13, 14, -22};
+Plane Surface (24) = {24};
+Line Loop (26) = {18, 19, 5, -16, -1, -17};
+Plane Surface (26) = {26};
+Line Loop (28) = {1, 2, 3, 4};
+Plane Surface (28) = {28};
+Line Loop (30) = {6, -5, -8, -7};
+Plane Surface (30) = {30};
+Line Loop (32) = {6, -16, 2, 3, -15, -14, -13, -12, -11, -10, -9, -7};
+Plane Surface (32) = {32};