diff --git a/CMakeLists.txt b/CMakeLists.txt
index c70e2711f5ddf7627c0bf1b2253feb1a3c623824..2bb4b62bf78ac242a761589294c2c74f216df4dd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,8 +13,8 @@ ENDIF (NOT VTK_FOUND)
 INCLUDE( ${VTK_USE_FILE} )
 
 # Find libgeotiff
-FIND_PACKAGE( LibTiff REQUIRED )
-FIND_PACKAGE( LibGeoTiff REQUIRED )
+FIND_PACKAGE( LibTiff )
+FIND_PACKAGE( LibGeoTiff )
 
 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO  "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /ZI /Od /Ob0")
 
diff --git a/DataView/CMakeLists.txt b/DataView/CMakeLists.txt
index 5732033964649fa627754f239e08689091960751..8ae693bc6a6905f6053e4dee8c8eb40eb83696c8 100644
--- a/DataView/CMakeLists.txt
+++ b/DataView/CMakeLists.txt
@@ -25,7 +25,6 @@ set( SOURCES
 	MshTabWidget.cpp
 	OGSRaster.cpp
 	QueryResultsDialog.cpp
-	SHPImportDialog.cpp
 	StationTabWidget.cpp
 	StationTreeModel.cpp
 	StationTreeView.cpp	
@@ -54,7 +53,6 @@ set( MOC_HEADERS
 	MshQualitySelectionDialog.h
 	MshTabWidget.h
 	QueryResultsDialog.h
-	SHPImportDialog.h
 	StationTabWidget.h
 	StationTreeModel.h
 	StationTreeView.h
@@ -118,12 +116,9 @@ include_directories(
 	./DiagramView
 	./StratView
 	../VtkVis
-	${CMAKE_SOURCE_DIR}
-	${Shapelib_INCLUDE_DIR}	
+	${CMAKE_SOURCE_DIR}	
 	#${OpenSG_INCLUDE_DIR}
 	#${OpenSGSupportlibs_INCLUDE_DIR}
-	${libtiff_INCLUDE_DIR}
-	${libgeotiff_INCLUDE_DIR}
 )
 
 if (OGS_COMPILE_QVTK)
@@ -138,6 +133,15 @@ IF (OGS_USE_OPENSG)
 	INCLUDE_DIRECTORIES( ${OpenSG_INCLUDE_DIRS} )
 ENDIF (OGS_USE_OPENSG)
 
+IF (Shapelib_FOUND)
+	SET( ${SOURCES} SHPImportDialog.cpp)
+	SET( ${MOC_HEADERS} SHPImportDialog.h)
+	INCLUDE_DIRECTORIES( ${Shapelib_INCLUDE_DIR} )
+ENDIF () # Shapelib_FOUND
+IF (libtiff_FOUND AND libgeotiff_FOUND)
+	INCLUDE_DIRECTORIES( ${libtiff_INCLUDE_DIR}	${libgeotiff_INCLUDE_DIR} )
+ENDIF () # libtiff_FOUND AND libgeotiff_FOUND
+
 # Put moc files in a project folder
 source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui")
 source_group("Moc Files" REGULAR_EXPRESSION "moc_.*")
@@ -156,13 +160,18 @@ add_library( QtDataView STATIC
 # Link Qt library
 target_link_libraries( QtDataView
 	${QT_LIBRARIES}
-	${libtiff_LIBRARIES}
-	${libgeotiff_LIBRARIES}
 	FEM
 	FileIO
 	GEO
 	MSH
 	QtBase
 	DiagramView
-	${Shapelib_LIBRARIES}
+	StratView
 )
+
+IF (Shapelib_FOUND)
+	TARGET_LINK_LIBRARIES( QtDataView ${Shapelib_LIBRARIES} )
+ENDIF () # Shapelib_FOUND
+IF (libtiff_FOUND AND libgeotiff_FOUND)
+	TARGET_LINK_LIBRARIES( QtDataView ${libtiff_LIBRARIES} ${libgeotiff_LIBRARIES} )
+ENDIF () # libtiff_FOUND AND libgeotiff_FOUND
diff --git a/DataView/OGSRaster.cpp b/DataView/OGSRaster.cpp
index b0bcf895cf50134ca183b53d626fb0d845270b81..74b0b081e2617ea72b41ce39edfd10906c75b7b7 100644
--- a/DataView/OGSRaster.cpp
+++ b/DataView/OGSRaster.cpp
@@ -16,10 +16,10 @@
 #include "StringTools.h"
 #include "OGSError.h"
 
-// libgeotiff includes
+#ifdef libgeotiff_FOUND 
 #include "geo_tiffp.h"
 #include "xtiffio.h"
-
+#endif
 
 bool OGSRaster::loadImage(const QString &fileName, QImage &raster, QPointF &origin,
 						  double &scalingFactor, bool autoscale /* = true */, bool mirrorX /* = false */)
@@ -35,12 +35,14 @@ bool OGSRaster::loadImage(const QString &fileName, QImage &raster, QPointF &orig
 		if (mirrorX)
 			raster = raster.transformed(QTransform(1, 0, 0, -1, 0, 0), Qt::FastTransformation);
 	}
+#ifdef libgeotiff_FOUND 
 	else if (fileInfo.suffix().toLower() == "tif")
 	{
 		if (!loadImageFromTIFF(fileName, raster, origin, scalingFactor)) return false;
 		if (!mirrorX)
 			raster = raster.transformed(QTransform(1, 0, 0, -1, 0, 0), Qt::FastTransformation);
 	}
+#endif 
 	else
 	{
 		if (!loadImageFromFile(fileName, raster)) return false;
@@ -189,6 +191,7 @@ double* OGSRaster::loadDataFromASC(const QString &fileName, double &x0, double &
 	return NULL;
 }
 
+#ifdef libgeotiff_FOUND 
 bool OGSRaster::loadImageFromTIFF(const QString &fileName, QImage &raster, QPointF &origin, double &cellsize)
 {
 	TIFF* tiff = XTIFFOpen(fileName.toStdString().c_str(), "r");
@@ -284,7 +287,7 @@ bool OGSRaster::loadImageFromTIFF(const QString &fileName, QImage &raster, QPoin
 	std::cout << "OGSRaster::loadImageFromTIFF() - File not recognised as TIFF-Image." << std::endl;
 	return false;
 }
-
+#endif
 
 bool OGSRaster::loadImageFromFile(const QString &fileName, QImage &raster)
 {
diff --git a/DataView/OGSRaster.h b/DataView/OGSRaster.h
index 05b7aa02e0f16abfaead40980d13ea62dc83b344..918397539c858ccf60f9e8504c4a5f5d844146fe 100644
--- a/DataView/OGSRaster.h
+++ b/DataView/OGSRaster.h
@@ -7,6 +7,7 @@
 #define OGSRASTER_H
 
 #include <fstream>
+#include "Configure.h"
 
 class QImage;
 class QPointF;
@@ -95,7 +96,9 @@ private:
 	 * \param cellsize The size of each pixel in the image which is needed for re-scaling the data
 	 * \return True if the raster data was loaded correctly, false otherwise.
 	 */
+#ifdef libgeotiff_FOUND 
 	static bool loadImageFromTIFF(const QString &fileName, QImage &raster, QPointF &origin, double &scalingFactor);
+#endif
 
 	/**
 	 * Loads image files into a QPixmap object. Since images are not geo-referenced no origin point will be returned.
diff --git a/DataView/StationTreeView.cpp b/DataView/StationTreeView.cpp
index ec3b8568c770076e0026c9b05f3eedecfaf94e6e..ca0204256e9ab629ce9faecd7dba2fc6d097e51a 100644
--- a/DataView/StationTreeView.cpp
+++ b/DataView/StationTreeView.cpp
@@ -7,6 +7,7 @@
 #include <QFileDialog>
 #include <QMenu>
 
+#include "Configure.h"
 #include "Station.h"
 #include "StationIO.h"
 #include "GMSInterface.h"
diff --git a/Gui/CMakeLists.txt b/Gui/CMakeLists.txt
index 24a8cd3952c1f305a9c097f33c92398b79f416e3..5b5df2e16381a0c51b22a5668d0aca697a7be984 100644
--- a/Gui/CMakeLists.txt
+++ b/Gui/CMakeLists.txt
@@ -45,9 +45,12 @@ INCLUDE_DIRECTORIES(
 	../StratView
 	../VtkVis
 	../VtkAct
-	${Shapelib_INCLUDE_DIR}	
 )
 
+IF (Shapelib_FOUND)
+	INCLUDE_DIRECTORIES( ${Shapelib_INCLUDE_DIR} )
+ENDIF () # Shapelib_FOUND
+
 if (OGS_COMPILE_QVTK)
 	INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/Qt/QVTK ../QVTK)
 endif (OGS_COMPILE_QVTK)
@@ -56,7 +59,6 @@ endif (OGS_COMPILE_QVTK)
 SOURCE_GROUP("UI Files" REGULAR_EXPRESSION "\\w*\\.ui")
 SOURCE_GROUP("Moc Files" REGULAR_EXPRESSION "moc_.*")
 
-
 # Create the library
 ADD_EXECUTABLE( ogs-gui
 	main.cpp
@@ -67,7 +69,6 @@ ADD_EXECUTABLE( ogs-gui
 	${UIS}
 )
 
-# Link Qt library
 TARGET_LINK_LIBRARIES( ogs-gui
 	${QT_LIBRARIES}
 	Base
@@ -79,18 +80,23 @@ TARGET_LINK_LIBRARIES( ogs-gui
 	QtBase
 	QtDataView
 	StratView
-	${Shapelib_LIBRARIES}
-	${libtiff_LIBRARIES}
-	${libgeotiff_LIBRARIES}
 	QVTK
 	VtkVis
 	VtkAct
 )
 
+IF (Shapelib_FOUND)
+	TARGET_LINK_LIBRARIES( ogs-gui ${Shapelib_LIBRARIES} )
+ENDIF () # Shapelib_FOUND
+
+IF (libtiff_FOUND AND libgeotiff_FOUND)
+	TARGET_LINK_LIBRARIES( ogs-gui ${libtiff_LIBRARIES} ${libgeotiff_LIBRARIES} )
+ENDIF () # libtiff_FOUND AND libgeotiff_FOUND
+
 ADD_DEPENDENCIES ( ogs-gui VtkVis OGSProject )
 
-# Set linker flags
 IF(MSVC)
+	# Set linker flags
 	SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT")
 ENDIF(MSVC)
 
diff --git a/Gui/mainwindow.cpp b/Gui/mainwindow.cpp
index 0057275bb1f4b13b67f9fcd37ced7f16fa6d0257..75759f3e7d928a191571f80035c60d2b6af93a00 100644
--- a/Gui/mainwindow.cpp
+++ b/Gui/mainwindow.cpp
@@ -20,10 +20,13 @@
 #include "LineEditDialog.h"
 #include "ListPropertiesDialog.h"
 #include "MshQualitySelectionDialog.h"
-#include "SHPImportDialog.h"
 #include "VtkAddFilterDialog.h"
 #include "VisPrefsDialog.h"
 
+#ifdef shapelib_FOUND
+#include "SHPImportDialog.h"
+#endif
+
 #include "OGSRaster.h"
 #include "OGSError.h"
 #include "Configure.h"
@@ -224,7 +227,7 @@ MainWindow::MainWindow(QWidget *parent /* = 0*/)
 	const unsigned int screenCount = desktopWidget->screenCount();
 #endif // OGS_QT_VERSION < 46
 	for (size_t i = 0; i < screenCount; ++i)
-		_screenGeometries.push_back(desktopWidget->availableGeometry(i));
+		_screenGeometries.push_back(desktopWidget->availableGeometry((int)i));
 
 	// Setup import files menu
 	menu_File->insertMenu(action_Exit, createImportFilesMenu());
@@ -653,8 +656,10 @@ QMenu* MainWindow::createImportFilesMenu()
 	QAction* rasterPolyFiles = importFiles->addAction("R&aster Files as PolyData...");
 	connect(rasterPolyFiles, SIGNAL(triggered()), this, SLOT(importRasterAsPoly()));
 #endif
+#ifdef shapelib_FOUND
 	QAction* shapeFiles = importFiles->addAction("&Shape Files...");
 	connect(shapeFiles, SIGNAL(triggered()), this, SLOT(importShape()));
+#endif
 	QAction* vtkFiles = importFiles->addAction("&VTK Files...");
 	connect( vtkFiles, SIGNAL(triggered()), this, SLOT(importVtk()) );
 
@@ -743,6 +748,7 @@ void MainWindow::importRasterAsPoly()
 		OGSError::box("File extension not supported.");
 }
 
+#ifdef shapelib_FOUND
 void MainWindow::importShape()
 {
 	QSettings settings("UFZ", "OpenGeoSys-5");
@@ -760,6 +766,7 @@ void MainWindow::importShape()
 		settings.setValue("lastOpenedFileDirectory", dir.absolutePath());
 	}
 }
+#endif
 
 void MainWindow::importPetrel()
 {
diff --git a/Gui/mainwindow.h b/Gui/mainwindow.h
index f60aa821e60924b5bcdee3bdf0095f5d0a2b56ad..b9552505e491a8ffee38c204d339428647ddb25c 100644
--- a/Gui/mainwindow.h
+++ b/Gui/mainwindow.h
@@ -61,7 +61,9 @@ protected slots:
 	void importGoCad();
 	void importRaster();
 	void importRasterAsPoly();
+#ifdef shapelib_FOUND
 	void importShape();
+#endif
 	void importPetrel();
 	void importNetcdf();     //YW  07.2010
 	void importVtk();