diff --git a/Documentation/Dependencies.dox b/Documentation/Dependencies.dox
new file mode 100644
index 0000000000000000000000000000000000000000..c5a9e4db19ba74fce4414c92128e2ac40b7ea3d6
--- /dev/null
+++ b/Documentation/Dependencies.dox
@@ -0,0 +1,6 @@
+/*! \defgroup Dependencies Library dependencies
+
+\image html cmake-dependencies.svg "cmake-dependencies" width=300%
+\image html cpp-dependencies.svg "cpp-dependencies" width=300%
+
+*/
diff --git a/Documentation/mainpage.dox.in b/Documentation/mainpage.dox.in
index 5839fae2f9707603014e554a36043e9d2ea71550..ef21f10b414458e5e8dbe3fb8100b36da0825bd8 100644
--- a/Documentation/mainpage.dox.in
+++ b/Documentation/mainpage.dox.in
@@ -31,13 +31,9 @@
  * - Data Explorer (GUI) manual: https://gitlab.opengeosys.org/ogs/data_explorer_manual/-/jobs/artifacts/master/raw/ogsde-man.pdf?job=build
  * - Discussion forum: https://discourse.opengeosys.org
  *
- * \section deps Dependencies
- *
- * @image html cmake-dependencies.svg "cmake-dependencies" width=300%
- * @image html cpp-dependencies.svg "cpp-dependencies" width=300%
- *
  * \section internal_modules Internal Modules
  *
+ * ${_subpage_dependencies}
  * * \subpage ODESolver
  * * \subpage ExternalODESolverInterface
  *
diff --git a/scripts/cmake/DocumentationSetup.cmake b/scripts/cmake/DocumentationSetup.cmake
index 026aa6a22bcc526b3eea1787d7af99f3370582a7..2b9efb05d097381894e5dca0fdea62728b806e81 100644
--- a/scripts/cmake/DocumentationSetup.cmake
+++ b/scripts/cmake/DocumentationSetup.cmake
@@ -38,7 +38,9 @@ set(DOXYGEN_CITE_BIB_FILES
 set(DOXYGEN_QUIET YES)
 set(DOXYGEN_WARN_LOGFILE ${PROJECT_BINARY_DIR}/DoxygenWarnings.log)
 set(DOXYGEN_EXCLUDE_PATTERNS moc_* ui_* CMake*)
-set(DOXYGEN_IMAGE_PATH ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Documentation/images)
+set(DOXYGEN_IMAGE_PATH ${PROJECT_SOURCE_DIR}
+                       ${PROJECT_SOURCE_DIR}/Documentation/images
+)
 set(DOXYGEN_SOURCE_BROWSER YES)
 set(DOXYGEN_INLINE_SOURCES YES)
 set(DOXYGEN_REFERENCED_BY_RELATION YES)
@@ -89,6 +91,9 @@ if($ENV{CI_COMMIT_BRANCH} MATCHES "master|^v[0-9]\.[0-9]\.[0-9]")
     )
     message(STATUS "Doxygen search server: ${DOXYGEN_SEARCHENGINE_URL}")
 endif()
+if(EXISTS ${PROJECT_BINARY_DIR}/cpp-dependencies.svg)
+    set(_subpage_dependencies "* \\subpage Dependencies")
+endif()
 configure_file(
     ${PROJECT_SOURCE_DIR}/Documentation/mainpage.dox.in
     ${PROJECT_BINARY_DIR}/DocAux/dox/mainpage.dox