diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3cd4d839d05bc69f31d643d90216f1e1d84604e7..9976835380162e990244c8aaf20e4b679976d69b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,10 +25,10 @@ INCLUDE(scripts/cmake/FindIncludeHeader.cmake)
 INCLUDE(scripts/cmake/Functions.cmake)
 INCLUDE(scripts/cmake/CMakeSetup.cmake)
 INCLUDE(scripts/cmake/CompilerSetup.cmake)
-INCLUDE(scripts/cmake/SubmoduleSetup.cmake)
 IF(NOT OGS_NO_EXTERNAL_LIBS)
 	INCLUDE(scripts/cmake/Find.cmake)
 ENDIF() # NOT OGS_NO_EXTERNAL_LIBS
+INCLUDE(scripts/cmake/SubmoduleSetup.cmake)
 INCLUDE(scripts/cmake/ProjectSetup.cmake)
 INCLUDE(scripts/cmake/DocumentationSetup.cmake)
 INCLUDE(scripts/cmake/Test.cmake)
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 1dd0fc163399594c611306a8e41632d8af88965c..b93a3fd530a1b2d660525b0f01948c25deb05fbc 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -29,6 +29,8 @@ FIND_PACKAGE(PythonInterp)
 
 FIND_PACKAGE(GitHub)
 
+FIND_PROGRAM(GIT_TOOL_PATH git HINTS ${GITHUB_BIN_DIR} DOC "The git command line interface")
+
 # Find bash itself ...
 FIND_PROGRAM(BASH_TOOL_PATH bash
 	HINTS ${GITHUB_BIN_DIR} DOC "The bash executable")
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 06d8946c0f0ad596cac8c3c2fdae48e1b6689652..42940d64c7e314881e18ebfa79c3992135fea65f 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -16,7 +16,7 @@ FOREACH(SUBMODULE ${REQUIRED_SUBMODULES})
 	IF(SUBMODULE_IS_NOT_INITIALIZED)
 		MESSAGE(STATUS "Initializing submodule ${SUBMODULE}")
 		EXECUTE_PROCESS(
-			COMMAND git submodule update --init ${SUBMODULE}
+			COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE}
 			WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
 		)
 	ENDIF()