diff --git a/src/lua_script.c b/src/lua_script.c
index 6274baa73a4cde211c665545e7493430b2bcfbf3..9d1eb8918efcc21a8fffa507a3f44019b85b8596 100644
--- a/src/lua_script.c
+++ b/src/lua_script.c
@@ -416,6 +416,14 @@ void LUA_InvalidateLevel(void)
 		LUA_InvalidateUserdata(&sides[i]);
 	for (i = 0; i < numvertexes; i++)
 		LUA_InvalidateUserdata(&vertexes[i]);
+	for (i = 0; i < numsegs; i++)
+		LUA_InvalidateUserdata(&segs[i]);
+	for (i = 0; i < numnodes; i++)
+	{
+		LUA_InvalidateUserdata(&nodes[i]);
+		LUA_InvalidateUserdata(nodes[i].bbox);
+		LUA_InvalidateUserdata(nodes[i].children);
+	}
 }
 
 void LUA_InvalidateMapthings(void)