diff --git a/ThirdParty/libxml2/CMakeLists.txt b/ThirdParty/libxml2/CMakeLists.txt
index 2f7be18b9fb8fd7c8d994ddf544f94b6ca68f39e..25d99545557e5fb0ef51e6f781e7736566dfcf13 100644
--- a/ThirdParty/libxml2/CMakeLists.txt
+++ b/ThirdParty/libxml2/CMakeLists.txt
@@ -7,7 +7,7 @@ vtk_module_third_party(
     SPDX_COPYRIGHT_TEXT
       "Copyright (C) 1998-2012 Daniel Veillard"
     SPDX_DOWNLOAD_LOCATION
-      "git+https://gitlab.kitware.com/third-party/libxml2.git@for/vtk-20241002-2.13.4"
+      "git+https://gitlab.kitware.com/third-party/libxml2.git@for/vtk-20241004-2.13.4"
     VERSION
       "2.13.4"
     STANDARD_INCLUDE_DIRS
diff --git a/ThirdParty/libxml2/update.sh b/ThirdParty/libxml2/update.sh
index a8a1f2f4ef25b858954068b8c88a0efc0b2e3153..31963084dcaafee5545af220ba2f3a69e654d8d7 100755
--- a/ThirdParty/libxml2/update.sh
+++ b/ThirdParty/libxml2/update.sh
@@ -8,7 +8,7 @@ readonly name="libxml2"
 readonly ownership="libxml2 Upstream <kwrobot@kitware.com>"
 readonly subtree="ThirdParty/$name/vtk$name"
 readonly repo="https://gitlab.kitware.com/third-party/libxml2.git"
-readonly tag="for/vtk-20241002-2.13.4"
+readonly tag="for/vtk-20241004-2.13.4"
 readonly paths="
 
 configure.ac
diff --git a/ThirdParty/libxml2/vtklibxml2/CMakeLists.txt b/ThirdParty/libxml2/vtklibxml2/CMakeLists.txt
index cb4e830c7a845bdfd02ea38580cce677a2ef174d..7099e7c632350e46425a10fde451097ec8745f8e 100644
--- a/ThirdParty/libxml2/vtklibxml2/CMakeLists.txt
+++ b/ThirdParty/libxml2/vtklibxml2/CMakeLists.txt
@@ -442,38 +442,41 @@ if(WIN32)
 endif()
 
 if(LIBXML2_WITH_ICONV)
-    target_link_libraries(LibXml2 PUBLIC Iconv::Iconv)
-    if(NOT Iconv_IS_BUILT_IN)
-        set(ICONV_LIBS "-liconv")
-    endif()
+    # target_link_libraries(LibXml2 PUBLIC Iconv::Iconv)
+    # if(NOT Iconv_IS_BUILT_IN)
+    #     set(ICONV_LIBS "-liconv")
+    #  endif()
+    vtk_module_link(VTK::libxml2 PUBLIC Iconv::Iconv)
 endif()
 
 if(LIBXML2_WITH_ICU)
-    target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc)
-    if(WIN32)
-        set(ICU_LDFLAGS "-licudt -licuin -licuuc")
-    else()
-        set(ICU_LDFLAGS "-licudata -licui18n -licuuc")
-    endif()
-    list(APPEND XML_PRIVATE_LIBS "${ICU_LDFLAGS}")
-    pkg_check_modules(ICU_PC IMPORTED_TARGET icu-i18n)
-    if(ICU_PC_FOUND)
-        list(APPEND XML_PC_REQUIRES icu-i18n)
-    else()
-        list(APPEND XML_PC_LIBS "${ICU_LDFLAGS}")
-    endif()
+    # target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc)
+    # if(WIN32)
+    #     set(ICU_LDFLAGS "-licudt -licuin -licuuc")
+    # else()
+    #     set(ICU_LDFLAGS "-licudata -licui18n -licuuc")
+    # endif()
+    vtk_module_link(VTK::libxml2 PRIVATE ICU::data ICU::i18n ICU::uc)
+    # list(APPEND XML_PRIVATE_LIBS "${ICU_LDFLAGS}")
+    # pkg_check_modules(ICU_PC IMPORTED_TARGET icu-i18n)
+    # if(ICU_PC_FOUND)
+    #     list(APPEND XML_PC_REQUIRES icu-i18n)
+    # else()
+    #     list(APPEND XML_PC_LIBS "${ICU_LDFLAGS}")
+    # endif()
 endif()
 
 if(LIBXML2_WITH_LZMA)
-    target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA)
-    set(LibLZMA_LDFLAGS "-llzma")
-    list(APPEND XML_PRIVATE_LIBS "${LibLZMA_LDFLAGS}")
-    pkg_check_modules(LibLZMA_PC IMPORTED_TARGET liblzma)
-    if(LibLZMA_PC_FOUND)
-        list(APPEND XML_PC_REQUIRES liblzma)
-    else()
-        list(APPEND XML_PC_LIBS "${LibLZMA_LDFLAGS}")
-    endif()
+    # target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA)
+    # set(LibLZMA_LDFLAGS "-llzma")
+    vtk_module_link(VTK::libxml2 PRIVATE LibLZMA::LibLZMA)
+    # list(APPEND XML_PRIVATE_LIBS "${LibLZMA_LDFLAGS}")
+    # pkg_check_modules(LibLZMA_PC IMPORTED_TARGET liblzma)
+    # if(LibLZMA_PC_FOUND)
+    #     list(APPEND XML_PC_REQUIRES liblzma)
+    # else()
+    #     list(APPEND XML_PC_LIBS "${LibLZMA_LDFLAGS}")
+    # endif()
 endif()
 
 if(LIBXML2_WITH_THREADS)
@@ -486,13 +489,13 @@ if(LIBXML2_WITH_ZLIB)
 	# target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB)
 	# set(Z_LIBS "-lz")
 	vtk_module_link(VTK::libxml2 PRIVATE VTK::zlib)
-  list(APPEND XML_PRIVATE_LIBS "${ZLIB_LDFLAGS}")
-  pkg_check_modules(ZLIB_PC IMPORTED_TARGET zlib)
-  if(ZLIB_PC_FOUND)
-    list(APPEND XML_PC_REQUIRES zlib)
-  else()
-    list(APPEND XML_PC_LIBS "${ZLIB_LDFLAGS}")
-  endif()
+  #  list(APPEND XML_PRIVATE_LIBS "${ZLIB_LDFLAGS}")
+  #  pkg_check_modules(ZLIB_PC IMPORTED_TARGET zlib)
+  #  if(ZLIB_PC_FOUND)
+  #    list(APPEND XML_PC_REQUIRES zlib)
+  #  else()
+  #    list(APPEND XML_PC_LIBS "${ZLIB_LDFLAGS}")
+  #  endif()
 endif()
 
 if (FALSE) # XXX(kitware): handled by VTK's module system.