diff --git a/src/gpu/communication/NonUniformGPUScheme.h b/src/gpu/communication/NonUniformGPUScheme.h
index 28a8fd0d0b7534e30957e938389f57d28d7ebeef..4b9576434d52dc8726daa35ab91a32fd8984a780 100644
--- a/src/gpu/communication/NonUniformGPUScheme.h
+++ b/src/gpu/communication/NonUniformGPUScheme.h
@@ -134,6 +134,12 @@ NonUniformGPUScheme< Stencil >::NonUniformGPUScheme(const weak_ptr< StructuredBl
    : blockForest_(bf), sendFromGPU_(sendDirectlyFromGPU), baseTag_(tag), parallelSectionManager_(-1),
      requiredBlockSelectors_(Set< SUID >::emptySet()), incompatibleBlockSelectors_(Set< SUID >::emptySet())
 {
+   WALBERLA_MPI_SECTION()
+   {
+#if !(defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT)
+      WALBERLA_CHECK(!sendDirectlyFromGPU)
+#endif
+   }
    init();
 }
 
@@ -146,6 +152,12 @@ NonUniformGPUScheme< Stencil >::NonUniformGPUScheme(const weak_ptr< StructuredBl
      incompatibleBlockSelectors_(incompatibleBlockSelectors), sendFromGPU_(sendDirectlyFromGPU), baseTag_(tag),
      parallelSectionManager_(-1)
 {
+   WALBERLA_MPI_SECTION()
+   {
+#if !(defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT)
+      WALBERLA_CHECK(!sendDirectlyFromGPU)
+#endif
+   }
    init();
 }
 
diff --git a/src/gpu/communication/UniformGPUScheme.impl.h b/src/gpu/communication/UniformGPUScheme.impl.h
index a12017cf77eca51af31bd967df2af914ae7f28a1..28033d1464f76709178042a5c87a27485ceacb44 100644
--- a/src/gpu/communication/UniformGPUScheme.impl.h
+++ b/src/gpu/communication/UniformGPUScheme.impl.h
@@ -42,7 +42,14 @@ namespace communication {
           parallelSectionManager_( -1 ),
           requiredBlockSelectors_( Set<SUID>::emptySet() ),
           incompatibleBlockSelectors_( Set<SUID>::emptySet() )
-   {}
+   {
+      WALBERLA_MPI_SECTION()
+      {
+#if !(defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT)
+         WALBERLA_CHECK(!sendDirectlyFromGPU)
+#endif
+      }
+   }
 
    template<typename Stencil>
    UniformGPUScheme<Stencil>::UniformGPUScheme( weak_ptr <StructuredBlockForest> bf,
@@ -61,7 +68,14 @@ namespace communication {
         parallelSectionManager_( -1 ),
         requiredBlockSelectors_( requiredBlockSelectors ),
         incompatibleBlockSelectors_( incompatibleBlockSelectors )
-   {}
+   {
+      WALBERLA_MPI_SECTION()
+      {
+#if !(defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT)
+         WALBERLA_CHECK(!sendDirectlyFromGPU)
+#endif
+      }
+   }
 
 
    template<typename Stencil>