diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 07ff3f6e3f200a4a2cde0d6fc6499b0cd8abb23d..7d3669b49163626b9a05fb2cf845f07c871439e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -526,11 +526,13 @@ doxygen:
   script:
   - apk update && apk add doxygen
   - doxygen docs/Doxyfile
+  - mv docs/build/html/ public/
 
   artifacts:
     expire_in: 1 week
     paths:
-    - docs/build/
+    - docs/build/html/
+    - public
 
 
 ###############################################################################
diff --git a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu
index 562140eb24bad470604b5782a816a4e60d5000f3..ce6e034d1c1eee57e062b736cfcea97e07306f3c 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu
@@ -42,14 +42,18 @@ extern "C" __global__ void LBCalcMac27( real* vxD,
 
    const unsigned int k = nx*(ny*z + y) + x; // Zugriff auf arrays im device
 
+
+   if(k >= size_Mat)
+      return;
+
+   if(!vf::gpu::isValidFluidNode(geoD[k]))
+      return;
+
    rhoD[k] = c0o1;
    vxD[k]  = c0o1;
    vyD[k]  = c0o1;
    vzD[k]  = c0o1;
 
-   if(!vf::gpu::isValidFluidNode(k, size_Mat, geoD[k]))
-      return;
-
    vf::gpu::DistributionWrapper distr_wrapper(distributions, size_Mat, isEvenTimestep, k, neighborX, neighborY, neighborZ);
    const auto& distribution = distr_wrapper.distribution;
 
@@ -266,15 +270,18 @@ extern "C" __global__ void LBCalcMacCompSP27(real *vxD, real *vyD, real *vzD, re
 {
     const unsigned k = vf::gpu::getNodeIndex();
 
+    if(k >= size_Mat)
+        return;
+
+    if (!vf::gpu::isValidFluidNode(geoD[k]))
+        return;
+
     pressD[k] = c0o1;
     rhoD[k]   = c0o1;
     vxD[k]    = c0o1;
     vyD[k]    = c0o1;
     vzD[k]    = c0o1;
 
-    if (!vf::gpu::isValidFluidNode(k, size_Mat, geoD[k]))
-        return;
-
     vf::gpu::DistributionWrapper distr_wrapper(distributions, size_Mat, isEvenTimestep, k, neighborX, neighborY,
                                                neighborZ);
     const auto &distribution = distr_wrapper.distribution;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh
index b4097851b251b7447f6ce06856d0b9187999a20b..ecfdb8e38bc5da02a473b6f2e67340963ed8b38a 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh
@@ -32,9 +32,11 @@ template<typename KernelFunctor>
 __global__ void runKernel(KernelFunctor kernel, GPUKernelParameter kernelParameter)
 {
     const uint k = getNodeIndex();
-    const uint nodeType = kernelParameter.typeOfGridNode[k];
 
-    if (!isValidFluidNode(k, kernelParameter.size_Mat, nodeType))
+    if(k >= kernelParameter.size_Mat)
+        return;
+
+    if (!isValidFluidNode(kernelParameter.typeOfGridNode[k]))
         return;
 
     DistributionWrapper distributionWrapper {
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu
index bbb01d95410612d36d55f1e0113175a8741b9ade..2b9203bf96be89fb328cbbe221994dffed481e14 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu
@@ -158,10 +158,9 @@ __device__ unsigned int getNodeIndex()
     return nx * (ny * z + y) + x;
 }
 
-__device__ bool isValidFluidNode(uint k, int size_Mat, uint nodeType)
+__device__ bool isValidFluidNode(uint nodeType)
 {
-    return (k < size_Mat) &&
-           (nodeType == GEO_FLUID || nodeType == GEO_PM_0 || nodeType == GEO_PM_1 || nodeType == GEO_PM_2);
+    return (nodeType == GEO_FLUID || nodeType == GEO_PM_0 || nodeType == GEO_PM_1 || nodeType == GEO_PM_2);
 }
 
 
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh
index 935030701924233d959fb69b74a7c3087feb0834..6b38cac75c99680c71420533455dd060195b6c87 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh
@@ -90,7 +90,7 @@ struct DistributionWrapper
 
 __device__ unsigned int getNodeIndex();
 
-__device__ bool isValidFluidNode(uint k, int size_Mat, uint nodeType);
+__device__ bool isValidFluidNode(uint nodeType);
 
 }
 }