diff --git a/Source/Core/Geometry/Tools.cs b/Source/Core/Geometry/Tools.cs
index c4b24f967d73eecd91c5bd174e2bd0b52b522c1c..fe7ec6cfd5b2b79c9a84d2059e804134673a95ec 100755
--- a/Source/Core/Geometry/Tools.cs
+++ b/Source/Core/Geometry/Tools.cs
@@ -1093,7 +1093,14 @@ namespace CodeImp.DoomBuilder.Geometry
 				map.BeginAddRemove();
 				MapSet.JoinVertices(mergeverts, MapSet.STITCH_DISTANCE); //mxd
 				map.EndAddRemove();
-				
+
+				// Filter old lines and vertices by edited area
+				RectangleF editarea = MapSet.CreateArea(newlines);
+				editarea = MapSet.IncreaseArea(editarea, mergeverts);
+				editarea.Inflate(1.0f, 1.0f);
+				oldlines = new List<Linedef>(MapSet.FilterByArea(oldlines, ref editarea));
+				nonmergeverts = new List<Vertex>(MapSet.FilterByArea(nonmergeverts, ref editarea));
+
 				/***************************************************\
 					Find a way to close the drawing
 				\***************************************************/