diff --git a/Source/Core/Map/Vertex.cs b/Source/Core/Map/Vertex.cs
index 0e22428742bf1c9b2c979074ad386e28ecd39dc9..33f082d8c34a33aac51bf2c4fee8c4ee7e9bbf1f 100644
--- a/Source/Core/Map/Vertex.cs
+++ b/Source/Core/Map/Vertex.cs
@@ -97,12 +97,6 @@ namespace CodeImp.DoomBuilder.Map
 				// Already set isdisposed so that changes can be prohibited
 				isdisposed = true;
 
-				if(map == General.Map.Map)
-					General.Map.UndoRedo.RecRemVertex(this);
-				
-				// Remove from main list
-				map.RemoveVertex(listindex);
-
 				if(map.AutoRemove)
 				{
 					// Dispose the lines that are attached to this vertex
@@ -115,6 +109,12 @@ namespace CodeImp.DoomBuilder.Map
 					foreach(Linedef ld in linedefs) ld.DetachVertexP(this);
 				}
 				
+				if(map == General.Map.Map)
+					General.Map.UndoRedo.RecRemVertex(this);
+				
+				// Remove from main list
+				map.RemoveVertex(listindex);
+
 				// Clean up
 				linedefs = null;
 				map = null;