diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0d49783980a9d002982245a780d1961073820786..aaf0b3baa11894ed7e8e1f0a16cddd4bdd6a5b70 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1539,35 +1539,6 @@ clang_17_hybrid_dbg_sp:
       - cuda11
       - docker
 
-###############################################################################
-##                                                                           ##
-##    STL Debug Build                                                        ##
-##                                                                           ##
-###############################################################################
-
-gcc_10_stl_debug:
-   extends: .build_template
-   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-debug-stl:10
-   before_script:
-      - rm -rf /opt/boost /usr/include/boost
-   variables:
-      CTEST_EXCLUDE_LABELS: "longrun"
-      WALBERLA_BUILD_WITH_MPI: "ON"
-      WALBERLA_BUILD_WITH_OPENMP: "ON"
-      OMP_NUM_THREADS: "4"
-      OMP_WAIT_POLICY: "PASSIVE"
-      CMAKE_BUILD_TYPE: "DebugOptimized"
-      WALBERLA_BUFFER_DEBUG: "OFF"
-      WALBERLA_DOUBLE_ACCURACY: "ON"
-      WALBERLA_BUILD_WITH_CUDA: "OFF"
-      WALBERLA_BUILD_WITH_METIS: "OFF"
-      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
-      WALBERLA_BUILD_WITH_PYTHON: "OFF"
-      WALBERLA_STL_BOUNDS_CHECKS: "ON"
-   tags:
-      - docker
-
-
 
 ###############################################################################
 ##                                                                           ##
@@ -1576,7 +1547,7 @@ gcc_10_stl_debug:
 ###############################################################################
 
 doc:
-   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
+   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13
    script:
       - cmake --version
       - doxygen --version
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d21694af654ba0b996a8bbce0c3096ef6a125ab..8f16ad6af49f6c89434e79903d12cff5d7ac56e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -99,6 +99,7 @@ option ( WALBERLA_PROFILE_USE               "Uses Profile to optimize"
 option ( WALBERLA_OPTIMIZE_FOR_LOCALHOST    "Enable compiler optimizations spcific to localhost" )
 
 option ( WALBERLA_LOG_SKIPPED               "Log skipped cmake targets"                      ON  )
+option ( WALBERLA_DEPS_ERROR                "Fail if module dependencies are not met"        OFF )
 
 option ( WALBERLA_GIT_SUBMODULE_AUTO        "Check submodules during cmake run"               ON )
 
diff --git a/cmake/waLBerlaFunctions.cmake b/cmake/waLBerlaFunctions.cmake
index 4962e18cabc6a6128ac8b003c99cfe6110d45520..e5914ed760b6928d641ef3620a9ee5bef38793b2 100644
--- a/cmake/waLBerlaFunctions.cmake
+++ b/cmake/waLBerlaFunctions.cmake
@@ -174,6 +174,9 @@ function ( waLBerla_add_executable )
     foreach ( depMod ${ARG_DEPENDS} )
         get_module_library_name ( depModLibraryName ${depMod} )
         if( NOT TARGET ${depModLibraryName} )
+            if( WALBERLA_DEPS_ERROR )
+               message( FATAL_ERROR "Module ${depMod} is missing to build target ${ARG_NAME}" )
+            endif()
             if( WALBERLA_LOG_SKIPPED )
                message ( STATUS "Skipping ${ARG_NAME} since dependent module ${depMod} was not built" )
             endif()
diff --git a/cmake/waLBerlaModuleDependencySystem.cmake b/cmake/waLBerlaModuleDependencySystem.cmake
index b955d81f4e5833ccba8e2122a614be6241eb46de..88e0df42efdec6ff7fd2e793a8fb3a135b1bc7dd 100644
--- a/cmake/waLBerlaModuleDependencySystem.cmake
+++ b/cmake/waLBerlaModuleDependencySystem.cmake
@@ -55,10 +55,12 @@
 function ( get_current_module_name  moduleNameOut )
 
     foreach( moduleDir ${ARGN} ${WALBERLA_MODULE_DIRS} )
-        get_filename_component( moduleNameShort ${CMAKE_CURRENT_SOURCE_DIR} NAME_WE )
         file( RELATIVE_PATH moduleFolder ${moduleDir} ${CMAKE_CURRENT_SOURCE_DIR} )
         if ( NOT ${moduleFolder} MATCHES "\\.\\./.*" )
-           set ( ${moduleNameOut} ${moduleFolder} PARENT_SCOPE )
+           #append / to make cmake_path also work with one directory only
+           set( moduleFolder "${moduleFolder}/" )
+           cmake_path(GET moduleFolder PARENT_PATH moduleNameOut)
+           set(moduleName ${moduleNameOut} PARENT_SCOPE)
            return() 
         endif()
     endforeach()
diff --git a/src/vtk/VTKOutput.cpp b/src/vtk/VTKOutput.cpp
index 117ceca754e3fcbb39bded221b68a8155d6e4fdb..42d7d9ef434b92b720a95115ed6dbbdd638905e2 100644
--- a/src/vtk/VTKOutput.cpp
+++ b/src/vtk/VTKOutput.cpp
@@ -1986,7 +1986,7 @@ void VTKOutput::writeVTHB( const uint_t collector ) const
 
    for( uint_t level = 0; level < files.size(); level++){
       ofs << "  <Block level=\"" << level << "\">\n";
-      uint index = 0;
+      walberla::uint_t index = 0;
       for( auto file = files[level].begin(); file != files[level].end(); ++file ){
          ofs << "   <DataSet index=\"" << index << "\" file=\"" << executionFolder_ << "_" << collector << "/" << file->filename().string() << "\"/>\n";
          index++;