diff --git a/am/CMakeLists.txt b/am/CMakeLists.txt
index cd4277629084ee10e238869628663acc6ead6dac..47e3e52d80ae9fa13dc209b0eae115220617c10b 100644
--- a/am/CMakeLists.txt
+++ b/am/CMakeLists.txt
@@ -10,5 +10,5 @@ install(PROGRAMS
   sourcescheck
   top-rules
   webstuff
-  DESTINATION share/dune-common/am
+  DESTINATION ${CMAKE_INSTALL_DATADIR}/am
 )
diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
index 049604161c12734493a4223748c0a1175ff842d0..3213d8412da3601d11c452060d43c4d150b866b7 100644
--- a/bin/CMakeLists.txt
+++ b/bin/CMakeLists.txt
@@ -5,4 +5,4 @@ install(PROGRAMS
 	dunecontrol
 	mpi-config
 	dune-autogen
-	DESTINATION bin)
+	DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
index 13e7e4e1e7efe4b16f6ebbadb3b79bf69ed5e31f..9cd7a33fb4188761d51ba83f6aff3bae1a57b168 100644
--- a/cmake/modules/CMakeLists.txt
+++ b/cmake/modules/CMakeLists.txt
@@ -1,2 +1,2 @@
 file(GLOB modules *.cmake)
-install(FILES ${modules} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/modules)
+install(FILES ${modules} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/modules)
diff --git a/cmake/scripts/CMakeLists.txt b/cmake/scripts/CMakeLists.txt
index 0c1a40d9a003aa0d9af8cfcdd060839aa263fb6b..8ffb2e36dd63bf88065ee4a599a0616fae58db52 100644
--- a/cmake/scripts/CMakeLists.txt
+++ b/cmake/scripts/CMakeLists.txt
@@ -1,2 +1,3 @@
 file(GLOB modules *.cmake)
-install(FILES ${modules} ${CMAKE_CURRENT_SOURCE_DIR}/BuildTests.cmake.in DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/scripts)
+install(FILES ${modules} ${CMAKE_CURRENT_SOURCE_DIR}/BuildTests.cmake.in
+  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/scripts)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index b88dfa1747feba663a53d4a483636d56057c66f5..d82d3db4ac81234e0c304cdc40aa5614c991c308 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_subdirectory("doxygen")
 add_subdirectory("buildsystem")
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/example.opts
-  DESTINATION share/doc/dune-common
+  DESTINATION ${CMAKE_INSTALL_DOCDIR}
   )
diff --git a/doc/buildsystem/CMakeLists.txt b/doc/buildsystem/CMakeLists.txt
index 9baff50d44f9dcee4e281a6a7e8906582cc16203..2fc371c63d404f4d543162fdec2dc1f4177ac650 100644
--- a/doc/buildsystem/CMakeLists.txt
+++ b/doc/buildsystem/CMakeLists.txt
@@ -1,8 +1,4 @@
 if(LATEX_USABLE)
   ADD_LATEX_DOCUMENT(buildsystem.tex FATHER_TARGET doc DEFAULT_PDF INPUTS ../Makefile.am ../../configure.ac ../example.opts)
-  create_doc_install(${CMAKE_CURRENT_BINARY_DIR}/buildsystem.pdf share/doc/dune-common/buildsystem)
+  create_doc_install(${CMAKE_CURRENT_BINARY_DIR}/buildsystem.pdf ${CMAKE_INSTALL_DOCDIR}/buildsystem)
 endif(LATEX_USABLE)
-#add_custom_target(install_buildsystem)
-#install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" --build \"${CMAKE_BINARY_DIR}\" --target buildsystem_install )")
-#install(FILES ${CMAKE_CURRENT_BINARY_DIR}/buildsystem.pdf
-#  DESTINATION share/doc/dune-common/buildsystem)
diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt
index ebcd3a12f5e23b867df654ec32a38da31168f45b..c4e01f1c3e1f9da69ea6fab790f3da1cd956fed2 100644
--- a/doc/doxygen/CMakeLists.txt
+++ b/doc/doxygen/CMakeLists.txt
@@ -1,3 +1,3 @@
 # quickhack for creating the Doxyfile.in and Doxyfile
 add_doxygen_target()
-install(FILES Doxystyle DESTINATION share/dune-common/doc/doxygen)
+install(FILES Doxystyle DESTINATION ${CMAKE_INSTALL_DOCDIR}/doxygen)
diff --git a/dune/common/CMakeLists.txt b/dune/common/CMakeLists.txt
index e3c150467b15ebdebe56668c697eb29d0939fd9d..bc2e183ad82e3c2dd49612ecfa7c46586cc8df4a 100644
--- a/dune/common/CMakeLists.txt
+++ b/dune/common/CMakeLists.txt
@@ -84,8 +84,8 @@ install(FILES
         typetraits.hh
         unused.hh
         version.hh
-DESTINATION include/dune/common)
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/common)
 
 # Install some test headers, because they get used by tests in other modules
 # We do this here as test will not be considered for make install
-install(FILES test/iteratortest.hh DESTINATION include/dune/common/test)
+install(FILES test/iteratortest.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/common/test)
diff --git a/dune/common/parallel/CMakeLists.txt b/dune/common/parallel/CMakeLists.txt
index 7fe50ce5649dc34fb5e3291f6a6f303c6e7b5ff4..26b548c31bcdecbb24150d84a04276cda137d8bf 100644
--- a/dune/common/parallel/CMakeLists.txt
+++ b/dune/common/parallel/CMakeLists.txt
@@ -10,5 +10,5 @@ install(FILES
         plocalindex.hh
         remoteindices.hh
         selection.hh
-	DESTINATION include/dune/common/parallel)
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/common/parallel)
 
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index dfb23cc2636110fde21c33e58354f813475dde69..23251b52043dfa937aabb0e28f6ff8128e4275c4 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -1 +1 @@
-install(FILES dunemodules.lib DESTINATION lib)
+install(FILES dunemodules.lib DESTINATION ${CMAKE_INSTALL_LIBDIR})