diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec130f661a7d716a7ad8c474bbb159802d10ceb7..01274d002dfbb5350e992077860033db6cfa1b8d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,15 +97,15 @@ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) # to find "amfe_def.h"
 ENABLE_TESTING()
 
 # -- INSTALL
+# Check if the project is the main project and the installation path is not specified
+IF(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND NOT(CMAKE_INSTALL_PREFIX MATCHES "dartflo$"))
+    SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/dartflo" CACHE STRING "Install location" FORCE)
+ENDIF()
 IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
     EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -m site --user-site OUTPUT_VARIABLE PY_SITE OUTPUT_STRIP_TRAILING_WHITESPACE)
     STRING(REGEX REPLACE "\\\\" "/" PY_SITE ${PY_SITE})
     SET(CMAKE_INSTALL_PREFIX "${PY_SITE}/dartflo" CACHE STRING "Install location" FORCE)
     SET(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT FALSE)
-ELSE()
-    IF(NOT(CMAKE_INSTALL_PREFIX MATCHES "dartflo$"))
-        SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/dartflo" CACHE STRING "Install location" FORCE)
-    ENDIF()
 ENDIF()
 IF(UNIX AND NOT APPLE)
     SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}")
@@ -116,7 +116,7 @@ ADD_SUBDIRECTORY( ext )
 ADD_SUBDIRECTORY( dart )
 
 # -- FINAL
-MESSAGE(STATUS "PROJECT: ${CMAKE_PROJECT_NAME}")
+MESSAGE(STATUS "PROJECT: ${PROJECT_NAME}")
 MESSAGE(STATUS "* SYSTEM NAME=\"${CMAKE_SYSTEM_NAME}\"")
 MESSAGE(STATUS "* CXX COMPILER: ${CMAKE_CXX_COMPILER_ID}")
 MESSAGE(STATUS "* CXX STANDARD: ${CMAKE_CXX_STANDARD}")