diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt
index e22771dd5eac39807ba9d7bb4eaa04d035b06e09..7d924b1292dfe802d763195ee004f150438cfc77 100644
--- a/FileIO/CMakeLists.txt
+++ b/FileIO/CMakeLists.txt
@@ -18,9 +18,11 @@ GET_SOURCE_FILES(SOURCES_MESHIO MeshIO)
 GET_SOURCE_FILES(SOURCES_RAPID_XML RapidXmlIO)
 SET ( SOURCES ${SOURCES} ${SOURCES_LEGACY} ${SOURCES_MESHIO} ${SOURCES_RAPID_XML})
 
+GET_SOURCE_FILES(SOURCES_BASE_XML XmlIO)
+SET (SOURCES ${SOURCES} ${SOURCES_BASE_XML})
 IF (QT4_FOUND)
-	GET_SOURCE_FILES(SOURCES_XML XmlIO)
-	SET ( SOURCES ${SOURCES} ${SOURCES_XML})
+	GET_SOURCE_FILES(SOURCES_QT_XML XmlIO/Qt)
+	SET ( SOURCES ${SOURCES} ${SOURCES_QT_XML})
 ENDIF (QT4_FOUND)
 
 IF (Shapelib_FOUND)
@@ -54,4 +56,4 @@ ENDIF (Shapelib_FOUND)
 IF (OGS_PACKAGING)
 	FILE(GLOB XSD_FILES . *.xsd)
 	INSTALL (FILES ${XSD_FILES} DESTINATION bin)
-ENDIF()
\ No newline at end of file
+ENDIF()
diff --git a/FileIO/XmlIO/XMLQtInterface.cpp b/FileIO/XmlIO/Qt/XMLQtInterface.cpp
similarity index 98%
rename from FileIO/XmlIO/XMLQtInterface.cpp
rename to FileIO/XmlIO/Qt/XMLQtInterface.cpp
index be5550ca1fb4894e5c4f2adc639b2422a34d8d55..f08a9df239e35c3d83b76287b7420e323f6ffac3 100644
--- a/FileIO/XmlIO/XMLQtInterface.cpp
+++ b/FileIO/XmlIO/Qt/XMLQtInterface.cpp
@@ -11,7 +11,7 @@
  *              http://www.opengeosys.org/LICENSE.txt
  */
 
-#include "XmlIO/XMLQtInterface.h"
+#include "XmlIO/Qt/XMLQtInterface.h"
 
 #include <fstream>
 
diff --git a/FileIO/XmlIO/XMLQtInterface.h b/FileIO/XmlIO/Qt/XMLQtInterface.h
similarity index 100%
rename from FileIO/XmlIO/XMLQtInterface.h
rename to FileIO/XmlIO/Qt/XMLQtInterface.h
diff --git a/FileIO/XmlIO/XmlCndInterface.cpp b/FileIO/XmlIO/Qt/XmlCndInterface.cpp
similarity index 100%
rename from FileIO/XmlIO/XmlCndInterface.cpp
rename to FileIO/XmlIO/Qt/XmlCndInterface.cpp
diff --git a/FileIO/XmlIO/XmlCndInterface.h b/FileIO/XmlIO/Qt/XmlCndInterface.h
similarity index 98%
rename from FileIO/XmlIO/XmlCndInterface.h
rename to FileIO/XmlIO/Qt/XmlCndInterface.h
index 6b0257c6569f4e086dc41cd3db7abf77a64acd51..a95c2de9c5d679ab73e671e9a2c8308ff511399c 100644
--- a/FileIO/XmlIO/XmlCndInterface.h
+++ b/FileIO/XmlIO/Qt/XmlCndInterface.h
@@ -19,7 +19,7 @@
 #include "logog/include/logog.hpp"
 
 // FileIO/XmlIO
-#include "XMLInterface.h"
+#include "../XMLInterface.h"
 #include "XMLQtInterface.h"
 
 class FEMCondition;
diff --git a/FileIO/XmlIO/XmlGmlInterface.cpp b/FileIO/XmlIO/Qt/XmlGmlInterface.cpp
similarity index 100%
rename from FileIO/XmlIO/XmlGmlInterface.cpp
rename to FileIO/XmlIO/Qt/XmlGmlInterface.cpp
diff --git a/FileIO/XmlIO/XmlGmlInterface.h b/FileIO/XmlIO/Qt/XmlGmlInterface.h
similarity index 97%
rename from FileIO/XmlIO/XmlGmlInterface.h
rename to FileIO/XmlIO/Qt/XmlGmlInterface.h
index 24837ef5cbc01977d76f48219590ca90066a5a38..39bb8605d73a151112c0a5394a003934fafbc685 100644
--- a/FileIO/XmlIO/XmlGmlInterface.h
+++ b/FileIO/XmlIO/Qt/XmlGmlInterface.h
@@ -15,7 +15,7 @@
 #ifndef XMLGMLINTERFACE_H
 #define XMLGMLINTERFACE_H
 
-#include "XMLInterface.h"
+#include "../XMLInterface.h"
 #include "XMLQtInterface.h"
 
 namespace FileIO
@@ -34,7 +34,7 @@ public:
 	 */
 	XmlGmlInterface(GeoLib::GEOObjects& geo_objs, const std::string &schemaFile);
 
-	virtual ~XmlGmlInterface() {};
+	virtual ~XmlGmlInterface() {}
 
 	/// Reads an xml-file containing geometric object definitions into the GEOObjects used in the contructor
 	int readFile(const QString &fileName);
diff --git a/FileIO/XmlIO/XmlGspInterface.cpp b/FileIO/XmlIO/Qt/XmlGspInterface.cpp
similarity index 100%
rename from FileIO/XmlIO/XmlGspInterface.cpp
rename to FileIO/XmlIO/Qt/XmlGspInterface.cpp
diff --git a/FileIO/XmlIO/XmlGspInterface.h b/FileIO/XmlIO/Qt/XmlGspInterface.h
similarity index 97%
rename from FileIO/XmlIO/XmlGspInterface.h
rename to FileIO/XmlIO/Qt/XmlGspInterface.h
index 0a8badf0f6795ad437b139ddde7401e4d782a53c..7308cdaf18d67e98fccd3a5d8483d85c33f71f36 100644
--- a/FileIO/XmlIO/XmlGspInterface.h
+++ b/FileIO/XmlIO/Qt/XmlGspInterface.h
@@ -15,7 +15,7 @@
 #ifndef XMLGSPINTERFACE_H
 #define XMLGSPINTERFACE_H
 
-#include "XMLInterface.h"
+#include "../XMLInterface.h"
 #include "XMLQtInterface.h"
 
 namespace FileIO
diff --git a/FileIO/XmlIO/XmlLutReader.h b/FileIO/XmlIO/Qt/XmlLutReader.h
similarity index 100%
rename from FileIO/XmlIO/XmlLutReader.h
rename to FileIO/XmlIO/Qt/XmlLutReader.h
diff --git a/FileIO/XmlIO/XmlStnInterface.cpp b/FileIO/XmlIO/Qt/XmlStnInterface.cpp
similarity index 100%
rename from FileIO/XmlIO/XmlStnInterface.cpp
rename to FileIO/XmlIO/Qt/XmlStnInterface.cpp
diff --git a/FileIO/XmlIO/XmlStnInterface.h b/FileIO/XmlIO/Qt/XmlStnInterface.h
similarity index 98%
rename from FileIO/XmlIO/XmlStnInterface.h
rename to FileIO/XmlIO/Qt/XmlStnInterface.h
index 1ab9597b66cbbfdc22d1db61c70f3d4038032420..189ef52ae54a4a91d49c12f1777bd9661181f5f2 100644
--- a/FileIO/XmlIO/XmlStnInterface.h
+++ b/FileIO/XmlIO/Qt/XmlStnInterface.h
@@ -17,7 +17,7 @@
 
 #include "RapidXML/rapidxml.hpp"
 
-#include "XMLInterface.h"
+#include "../XMLInterface.h"
 #include "XMLQtInterface.h"
 
 namespace GeoLib {
diff --git a/Gui/VtkVis/VtkAlgorithmProperties.cpp b/Gui/VtkVis/VtkAlgorithmProperties.cpp
index 04a1cd922ee7a36db3fdc69ff5074abe894a6b2d..c7f9c3be4ed311bb9b430f56de83d405b512906c 100644
--- a/Gui/VtkVis/VtkAlgorithmProperties.cpp
+++ b/Gui/VtkVis/VtkAlgorithmProperties.cpp
@@ -22,7 +22,7 @@
 #include <vtkTexture.h>
 
 #include "VtkColorLookupTable.h"
-#include "XmlIO/XmlLutReader.h"
+#include "XmlIO/Qt/XmlLutReader.h"
 
 VtkAlgorithmProperties::VtkAlgorithmProperties(QObject* parent /*= nullptr*/)
 	: QObject(parent)
diff --git a/Gui/VtkVis/VtkCompositeColormapToImageFilter.cpp b/Gui/VtkVis/VtkCompositeColormapToImageFilter.cpp
index 48d38c19e2e79a5acc3eb7a5c5bed1a4b46062d0..04f98f1d39b407430325234c0397241e1f0421b3 100644
--- a/Gui/VtkVis/VtkCompositeColormapToImageFilter.cpp
+++ b/Gui/VtkVis/VtkCompositeColormapToImageFilter.cpp
@@ -25,7 +25,7 @@
 #include <QFileDialog>
 
 #include "VtkColorLookupTable.h"
-#include "XmlIO/XmlLutReader.h"
+#include "XmlIO/Qt/XmlLutReader.h"
 
 VtkCompositeColormapToImageFilter::VtkCompositeColormapToImageFilter( vtkAlgorithm* inputAlgorithm )
 	: VtkCompositeFilter(inputAlgorithm)
diff --git a/Gui/mainwindow.cpp b/Gui/mainwindow.cpp
index 68c172e4fb40dd84c32af19e530de6cf28f697b7..edf7f34a167f076ebcb09ce9ce35c56d596ddfa0 100644
--- a/Gui/mainwindow.cpp
+++ b/Gui/mainwindow.cpp
@@ -75,10 +75,10 @@
 #include "MeshIO/GMSHInterface.h"
 #include "MeshIO/TetGenInterface.h"
 #include "PetrelInterface.h"
-#include "XmlIO/XmlCndInterface.h"
-#include "XmlIO/XmlGmlInterface.h"
-#include "XmlIO/XmlGspInterface.h"
-#include "XmlIO/XmlStnInterface.h"
+#include "XmlIO/Qt/XmlCndInterface.h"
+#include "XmlIO/Qt/XmlGmlInterface.h"
+#include "XmlIO/Qt/XmlGspInterface.h"
+#include "XmlIO/Qt/XmlStnInterface.h"
 
 #include "StringTools.h"
 
diff --git a/Tests/FileIO/TestXmlGmlReader.cpp b/Tests/FileIO/TestXmlGmlReader.cpp
index f2c6c74bc91d3036151ef03622efa0e721970657..bac1d7a8cbac0de86e6f1edcd6c6eeb158e546af 100644
--- a/Tests/FileIO/TestXmlGmlReader.cpp
+++ b/Tests/FileIO/TestXmlGmlReader.cpp
@@ -18,7 +18,7 @@
 #include "Configure.h"
 
 // FileIO
-#include "XmlIO/XmlGmlInterface.h"
+#include "XmlIO/Qt/XmlGmlInterface.h"
 
 // OgsLib
 #include "OGS/ProjectData.h"
diff --git a/Utils/FileConverter/ConvertSHPToGLI.cpp b/Utils/FileConverter/ConvertSHPToGLI.cpp
index 26f5b4ca50d58015ecae60472d9ff80b06b682fc..a446909cd60c5f6548d543da15854bcfe3711824 100644
--- a/Utils/FileConverter/ConvertSHPToGLI.cpp
+++ b/Utils/FileConverter/ConvertSHPToGLI.cpp
@@ -31,8 +31,8 @@
 #include "StringTools.h"
 
 // FileIO
-#include "XmlIO/XmlGmlInterface.h"
-#include "XmlIO/XmlStnInterface.h"
+#include "XmlIO/Qt/XmlGmlInterface.h"
+#include "XmlIO/Qt/XmlStnInterface.h"
 
 // GeoLib
 #include "GEOObjects.h"
diff --git a/Utils/FileConverter/generateBCFromPolyline.cpp b/Utils/FileConverter/generateBCFromPolyline.cpp
index d737713e0e710fc71ac49de80d21c541537a2ef1..f14ba6eb4dc5dad9799aaaaaa049eb1694c5e021 100644
--- a/Utils/FileConverter/generateBCFromPolyline.cpp
+++ b/Utils/FileConverter/generateBCFromPolyline.cpp
@@ -24,7 +24,7 @@
 #include "OGS/ProjectData.h"
 
 // FileIO
-#include "XmlIO/XmlGmlInterface.h"
+#include "XmlIO/Qt/XmlGmlInterface.h"
 
 int main (int argc, char* argv[])
 {
diff --git a/Utils/FileConverter/generateBCandGLI.cpp b/Utils/FileConverter/generateBCandGLI.cpp
index 4f9571d1f1549b9626634cc69e9dd2382270bd28..fac1ff2ccb5ccd8f16f60dae8b7c345c9d6476be 100644
--- a/Utils/FileConverter/generateBCandGLI.cpp
+++ b/Utils/FileConverter/generateBCandGLI.cpp
@@ -27,7 +27,7 @@
 #include "OGS/ProjectData.h"
 
 // FileIO
-#include "XmlIO/XmlGmlInterface.h"
+#include "XmlIO/Qt/XmlGmlInterface.h"
 
 int main (int argc, char* argv[])
 {