diff --git a/cmake/modules/DUNEDoxygen.cmake b/cmake/modules/DUNEDoxygen.cmake
index 9e0896143979f888d97d453d99c190baea031e03..ddfc22026e83be83e9339430c577db87c66e20c0 100644
--- a/cmake/modules/DUNEDoxygen.cmake
+++ b/cmake/modules/DUNEDoxygen.cmake
@@ -39,7 +39,10 @@ MACRO (add_doxygen_target)
     add_dependencies(doc doxygen_${DUNE_MOD_NAME})
 
     # Use a cmake call to install the doxygen documentation and create a target for it
-    set(install_doxygen_command ${CMAKE_COMMAND} -D FILE=${CMAKE_CURRENT_BINARY_DIR}/html -D DIR=${CMAKE_INSTALL_PREFIX}/share/doc/${DUNE_MOD_NAME}/doxygen -P ${CMAKE_SOURCE_DIR}/cmake/scripts/InstallFile.cmake)
+    file(GLOB doxygenfiles GLOB ${CMAKE_CURRENT_BINARY_DIR}/html/*.html ${CMAKE_CURRENT_BINARY_DIR}/html/*.png ${CMAKE_CURRENT_BINARY_DIR}/html/*.css ${CMAKE_CURRENT_BINARY_DIR}/html/*.gif)
+
+    set(doxygenfiles "${CMAKE_CURRENT_BINARY_DIR}/doxyerr.log;${doxygenfiles}")
+    set(install_doxygen_command ${CMAKE_COMMAND} -D FILES="${doxygenfiles}" -D DIR=${CMAKE_INSTALL_PREFIX}/share/doc/${DUNE_MOD_NAME}/doxygen  -P ${CMAKE_SOURCE_DIR}/cmake/scripts/InstallFile.cmake)
     add_custom_target(doxygen_install_${DUNE_MOD_NAME}
       ${install_doxygen_command}
       COMMENT "Installing doxygen documentation"
diff --git a/cmake/scripts/InstallFile.cmake b/cmake/scripts/InstallFile.cmake
index bab8bc581856635b1e224b5bc3f7afc8f0649d2c..5d8a9a9c40aebe4e25b48ad6359b939890b3e0ff 100644
--- a/cmake/scripts/InstallFile.cmake
+++ b/cmake/scripts/InstallFile.cmake
@@ -1,2 +1,6 @@
-file(INSTALL ${FILE}
-	DESTINATION ${DIR})
+
+# Somehow variable list get destroyed when calling cmake (; is replaced with
+# whitespace character. Undo this change
+string(REGEX REPLACE "([a-zA-Z0-9]) ([/a-zA-Z0-9])" "\\1;\\2" files "${FILES}")
+file(INSTALL ${files} DESTINATION ${DIR})
+