diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57f4d0bdecd07cc61dfae02754892938b0c597f7..a53979a6ef0d2a9cfd37a331c6eafaff25a27451 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,6 +51,8 @@ execute_process(
     COMMAND ${PYTHON_EXECUTABLE} setup.py install --user
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 
+add_executable(${CPU_BIN} ${CPU_SRC} ${RUNTIME_COMMON_FILES} ${RUNTIME_CPU_FILES})
+
 if(USE_WALBERLA)
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_WALBERLA_LOAD_BALANCING ")
     find_package(waLBerla REQUIRED)
@@ -60,9 +62,7 @@ if(USE_WALBERLA)
     waLBerla_add_executable(
         NAME ${CPU_BIN}
         FILES ${CPU_SRC} ${RUNTIME_COMMON_FILES} ${RUNTIME_CPU_FILES}
-        DEPENDS blockforest core pe ${CPU_SRC} runtime_cpu)
-else()
-    add_executable(${CPU_BIN} ${CPU_SRC} ${RUNTIME_COMMON_FILES} ${RUNTIME_CPU_FILES})
+        DEPENDS blockforest core pe ${CPU_SRC})
 endif()
 
 add_library(runtime_cpu STATIC runtime/devices/dummy.cpp)
@@ -80,14 +80,13 @@ add_dependencies(${CPU_BIN} gen_cpu)
 if(COMPILE_CUDA)
     find_package(CUDA REQUIRED)
     enable_language(CUDA)
+    add_executable(${GPU_BIN} ${GPU_SRC} ${RUNTIME_COMMON_FILES} ${RUNTIME_GPU_FILES})
 
     if(USE_WALBERLA)
         waLBerla_add_executable(
             NAME ${GPU_BIN}
             FILES ${GPU_SRC} ${RUNTIME_COMMON_FILES}
-            DEPENDS blockforest core pe ${GPU_SRC} runtime_gpu)
-    else()
-        add_executable(${GPU_BIN} ${GPU_SRC} ${RUNTIME_COMMON_FILES} ${RUNTIME_GPU_FILES})
+            DEPENDS blockforest core pe ${GPU_SRC})
     endif()
 
     if(ENABLE_GPU_DIRECT)
diff --git a/runtime/domain/block_forest.cpp b/runtime/domain/block_forest.cpp
index 54aba1db9f82dd0429cc84390b8ac99b4499c5f0..8996ed674edd82fd18f8b57a3a466a623c52e986 100644
--- a/runtime/domain/block_forest.cpp
+++ b/runtime/domain/block_forest.cpp
@@ -8,9 +8,9 @@
 #include <blockforest/loadbalancing/DynamicParMetis.h>
 #include <blockforest/loadbalancing/InfoCollection.h>
 #include <blockforest/loadbalancing/PODPhantomData.h>
-#include <pe/amr/level_determination/MinMaxLevelDetermination.h>
-#include <pe/amr/weight_assignment/MetisAssignmentFunctor.h>
-#include <pe/amr/weight_assignment/WeightAssignmentFunctor.h>
+#include <blockforest/loadbalancing/level_determination/MinMaxLevelDetermination.h>
+#include <blockforest/loadbalancing/weight_assignment/MetisAssignmentFunctor.h>
+#include <blockforest/loadbalancing/weight_assignment/WeightAssignmentFunctor.h>
 //---
 #include "../boundary_weights.hpp"
 #include "../pairs_common.hpp"
diff --git a/runtime/domain/block_forest.hpp b/runtime/domain/block_forest.hpp
index 22b7fe123a018cc6c3419bb3c7626dbd224d6153..fd49eb13fe0a8ba3b46127373c511fef7381abcc 100644
--- a/runtime/domain/block_forest.hpp
+++ b/runtime/domain/block_forest.hpp
@@ -7,9 +7,9 @@
 #include <blockforest/loadbalancing/DynamicParMetis.h>
 #include <blockforest/loadbalancing/InfoCollection.h>
 #include <blockforest/loadbalancing/PODPhantomData.h>
-#include <pe/amr/level_determination/MinMaxLevelDetermination.h>
-#include <pe/amr/weight_assignment/MetisAssignmentFunctor.h>
-#include <pe/amr/weight_assignment/WeightAssignmentFunctor.h>
+#include <blockforest/loadbalancing/level_determination/MinMaxLevelDetermination.h>
+#include <blockforest/loadbalancing/weight_assignment/MetisAssignmentFunctor.h>
+#include <blockforest/loadbalancing/weight_assignment/WeightAssignmentFunctor.h>
 //---
 #include "../pairs_common.hpp"
 #include "domain_partitioning.hpp"