diff --git a/CMakeLists.txt b/CMakeLists.txt
index e1b42d91e58912d2ad07fdf14491a810ef1ae44e..ad3f2e766e224fa0a89055c6648c3dc81ed2a279 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -146,8 +146,6 @@ if( DEFINED DD4HEP_WITH_GEANT4 OR DEFINED DD4HEP_WITH_GEAR )
   dd4hep_print_cmake_options( OPTIONAL "Obsolete options: only the following are allowed:" ERROR 1 )
 endif()
 
-include(DD4hep_XML_setup)
-
 IF(DD4HEP_USE_EXISTING_DD4HEP)
 
   MESSAGE(STATUS "|!!> Using pre-existing DD4hep: ${DD4HEP_USE_EXISTING_DD4HEP}")
@@ -170,6 +168,8 @@ IF(DD4HEP_USE_EXISTING_DD4HEP)
 
 ELSE()
 
+include(DD4hep_XML_setup)
+
 #These pacakges are mandatory
 FOREACH(DDPackage GaudiPluginService DDParsers DDCore)
   add_subdirectory(${DDPackage})
diff --git a/cmake/DD4hep.cmake b/cmake/DD4hep.cmake
index 9cc236721a9a885713e0dfa6b88d19403ec87fc5..ec3957030d240e6101df41ea79ef4b5869c7de7e 100644
--- a/cmake/DD4hep.cmake
+++ b/cmake/DD4hep.cmake
@@ -22,7 +22,6 @@ endif()
 # Main functional include file
 if (NOT DD4hepBuild_included)
   include ( DD4hepBuild )
-  include ( DD4hep_XML_setup )
 endif()
 
 ##---------------------------------------------------------------------------------------------------
diff --git a/cmake/DD4hepConfig.cmake.in b/cmake/DD4hepConfig.cmake.in
index 84515388fd0f6c2f4dc509a92cee2810065a0237..72abed33c8ad06aebdf78e3f7c0bba9c9517a9ff 100644
--- a/cmake/DD4hepConfig.cmake.in
+++ b/cmake/DD4hepConfig.cmake.in
@@ -89,9 +89,6 @@ IF(@CMAKE_PROJECT_NAME@_FIND_COMPONENTS)
 ENDIF()
 
 #---- build with xercesc or tinyxml ?
-if(DD4HEP_USE_XERCESC)
-  set( DD4HEP_USE_XERCESC True )
-endif()
 INCLUDE( ${@CMAKE_PROJECT_NAME@_DIR}/cmake/DD4hep_XML_setup.cmake )
 
 #----- APPLE ? -------
diff --git a/cmake/DD4hep_XML_setup.cmake b/cmake/DD4hep_XML_setup.cmake
index eed371ed510a05f7929719c25af2c7bfe6844df0..03c4f56fd7ce41109c9a3f3e01d193dee1975264 100644
--- a/cmake/DD4hep_XML_setup.cmake
+++ b/cmake/DD4hep_XML_setup.cmake
@@ -8,10 +8,10 @@ if(DD4HEP_USE_XERCESC)
   set(XML_LIBRARIES XercesC::XercesC)
 else()
   set(DD4HEP_USE_XERCESC OFF)
-  IF(NOT TARGET TinyXML)
+  IF(NOT TARGET TinyXML AND NOT TARGET DD4hep::TinyXML)
     ADD_LIBRARY(TinyXML INTERFACE)
     TARGET_COMPILE_DEFINITIONS(TinyXML INTERFACE DD4HEP_USE_TINYXML)
     INSTALL(TARGETS TinyXML EXPORT DD4hep DESTINATION lib)
   ENDIF()
-  set(XML_LIBRARIES TinyXML)
+  set(XML_LIBRARIES DD4hep::TinyXML)
 endif()