diff --git a/CMake/ImportGdal.cmake b/CMake/ImportGdal.cmake
index 542683012b4347e8b162ebc5db50288686d25e14..9dce78ab1900e913428d97c521f0b034fd21ed4d 100644
--- a/CMake/ImportGdal.cmake
+++ b/CMake/ImportGdal.cmake
@@ -64,7 +64,12 @@ IF(OTB_USE_EXTERNAL_GDAL)
   MATH(EXPR GDAL_NUM_VERSION "((${GDAL_VERSION_MAJOR})*100+${GDAL_VERSION_MINOR})*100+${GDAL_VERSION_PATCH}")
 
   # Find geotiff headers
-  FIND_PATH(GEOTIFF_INCLUDE_DIRS geotiff.h ${GDAL_INCLUDE_DIR} /usr/include/geotiff /usr/include/libgeotiff)
+  FIND_PATH(GEOTIFF_INCLUDE_DIRS geotiff.h
+            HINTS
+              ${GDAL_INCLUDE_DIR}
+            PATH_SUFFIXES
+              geotiff
+              libgeotiff)
   MARK_AS_ADVANCED(GEOTIFF_INCLUDE_DIRS)
   IF (NOT GEOTIFF_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR
@@ -72,7 +77,8 @@ IF(OTB_USE_EXTERNAL_GDAL)
   ENDIF (NOT GEOTIFF_INCLUDE_DIRS)
 
   # Find tiff headers
-  FIND_PATH(TIFF_INCLUDE_DIRS tiffio.h ${GDAL_INCLUDE_DIR})
+  FIND_PATH(TIFF_INCLUDE_DIRS tiffio.h
+              HINTS ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(TIFF_INCLUDE_DIRS)
   IF (NOT TIFF_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR
@@ -80,6 +86,8 @@ IF(OTB_USE_EXTERNAL_GDAL)
   ENDIF (NOT TIFF_INCLUDE_DIRS)
 
   # Find jpeg headers
+  FIND_PATH(JPEG_INCLUDE_DIRS jpeglib.h
+              HINTS ${GDAL_INCLUDE_DIR})
   FIND_PATH(JPEG_INCLUDE_DIRS jpeglib.h ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(JPEG_INCLUDE_DIRS)
   IF (NOT JPEG_INCLUDE_DIRS)
@@ -89,7 +97,8 @@ IF(OTB_USE_EXTERNAL_GDAL)
   INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIRS})
 
   # Find ogr headers
-  FIND_PATH(OGR_INCLUDE_DIRS ogrsf_frmts.h ${GDAL_INCLUDE_DIR})
+  FIND_PATH(OGR_INCLUDE_DIRS ogrsf_frmts.h
+              HINTS ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(OGR_INCLUDE_DIRS)
   IF (NOT OGR_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR