diff --git a/dune/fem-dg/test/CMakeLists.txt b/dune/fem-dg/test/CMakeLists.txt
index bdd9313d7e8787dd776735d60f8163965d528d39..50ce226bca13234584a5f2eec53187f0dae1269f 100644
--- a/dune/fem-dg/test/CMakeLists.txt
+++ b/dune/fem-dg/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-set(SUBDIRS  dataio advdiff euler navierstokes)
+set(SUBDIRS  dataio advdiff euler navierstokes poisson)
 # include not needed for CMake
 # include $(top_srcdir)/am/global-rules
 set(testdir  ${CMAKE_INSTALL_INCLUDEDIR}/dune/fem-dg/test)
diff --git a/dune/fem-dg/test/advdiff/CMakeLists.txt b/dune/fem-dg/test/advdiff/CMakeLists.txt
index 7cc09394065a8b5df8d0e7bb0a1ada6ee14158bc..cc1c15702203314402dd93483555d5102585fd72 100644
--- a/dune/fem-dg/test/advdiff/CMakeLists.txt
+++ b/dune/fem-dg/test/advdiff/CMakeLists.txt
@@ -4,21 +4,14 @@ set(advdiff_HEADERS  models.hh
                      problemcreator.hh 
                      steppertraits.hh)
                                       
-#set(LDADD  ${ALL_PKG_LDFLAGS} ${ALL_PKG_LIBS} ${LOCAL_LIBS} ${DUNEMPILDFLAGS} ${DUNEMPILIBS})
-
-
-set(BASEDIR ../../main)
-
-
 set(GRIDTYPE  YASPGRID)
 set(POLORDER  2)
 set(GRIDDIM  2)
 set(DIMRANGE  1)
 set(FLUX 1) #2
 
-
 set(TESTS advdiff
-          advdiffonep) 
+          advdiffall) 
 
 add_definitions( "-D${GRIDTYPE}" )
 add_definitions( "-DGRIDDIM=${GRIDDIM}" )
@@ -27,15 +20,14 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-DPRIMALDG" )
 add_definitions( "-DUSE_ASSERT_THROW" ) 
 
-
 include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/advdiff")
 
-add_executable( advdiff ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc ${BASEDIR}/main_2.cc ${BASEDIR}/main_3.cc )
-dune_target_link_libraries(advdiff ${DUNE_LIBS})
+add_executable( advdiffall ${SOURCEALL})
+dune_target_link_libraries(advdiffall ${DUNE_LIBS})
 
-add_executable( advdiffonep ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc )
-dune_target_link_libraries(advdiffonep ${DUNE_LIBS})
-set_property(TARGET advdiffonep APPEND PROPERTY 
+add_executable( advdiff ${SOURCEONE})
+dune_target_link_libraries(advdiff ${DUNE_LIBS})
+set_property(TARGET advdiff APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
 
 # We do not want want to build the tests during make all
diff --git a/dune/fem-dg/test/euler/CMakeLists.txt b/dune/fem-dg/test/euler/CMakeLists.txt
index 1d098294b2bc911704fbae7abd462f89eb4af3a5..3cb0e8cf898382551ff1305d3aec0c2ba990553f 100644
--- a/dune/fem-dg/test/euler/CMakeLists.txt
+++ b/dune/fem-dg/test/euler/CMakeLists.txt
@@ -7,25 +7,14 @@ set(euler_HEADERS  eulermodel.hh
                    chorjo.cc 
                    passtraits.hh)
 
-set(BASEDIR ../../main)
-
-# helper variables
-set(SOURCEBASE  ${BASEDIR}/main.cc chorjo.cc)
-set(SOURCES  ${SOURCEBASE} ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc
-                                        ${BASEDIR}/main_2.cc ${BASEDIR}/main_3.cc)
-set(SOURCES12  ${SOURCEBASE} ${BASEDIR}/main_1.cc ${BASEDIR}/main_2.cc)
-set(SOURCEONEP  ${SOURCEBASE} ${BASEDIR}/main_pol.cc)
-
 set(GRIDTYPE YASPGRID)
 set(GRIDDIM  2)
+set(POLORDER 2)
 set(FLUX 1)
 set(DIFFFLUXTYPE PRIMALDG)
 
 set(TESTS euler
-          euler12
-          euleronep) 
-
-
+          eulerall)
 
 add_definitions( "-D${GRIDTYPE}" )
 add_definitions( "-DGRIDDIM=${GRIDDIM}" )
@@ -33,22 +22,16 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-D${DIFFFLUXTYPE}" )
 add_definitions( "-DWANT_CACHED_COMM_MANAGER=0" )
 
-
 include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/euler")
 
-add_executable( euler ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc ${BASEDIR}/main_2.cc ${BASEDIR}/main_3.cc )
-dune_target_link_libraries(euler ${DUNE_LIBS})
-set_property(TARGET euler APPEND PROPERTY 
+add_executable( eulerall ${SOURCEALL} chorjo.cc )
+dune_target_link_libraries(eulerall ${DUNE_LIBS})
+set_property(TARGET eulerall APPEND PROPERTY 
   COMPILE_DEFINITIONS "LIMITER")
 
-add_executable( euler12 ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc )
-dune_target_link_libraries(euler12 ${DUNE_LIBS})
-set_property(TARGET euler12 APPEND PROPERTY 
-  COMPILE_DEFINITIONS "ONLY_P1_P2")
-
-add_executable( euleronep ${BASEDIR}/main_pol.cc )
-dune_target_link_libraries(euleronep ${DUNE_LIBS})
-set_property(TARGET euleronep APPEND PROPERTY 
+add_executable( euler ${SOURCEONE} chorjo.cc )
+dune_target_link_libraries(euler ${DUNE_LIBS})
+set_property(TARGET euler APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
 
 # We do not want want to build the tests during make all
diff --git a/dune/fem-dg/test/navierstokes/CMakeLists.txt b/dune/fem-dg/test/navierstokes/CMakeLists.txt
index 52b33eb9d024f6692e785f2b4d8790a489a1dffc..3790391fbe66c9a68be19f539971c2648943cc94 100644
--- a/dune/fem-dg/test/navierstokes/CMakeLists.txt
+++ b/dune/fem-dg/test/navierstokes/CMakeLists.txt
@@ -8,15 +8,6 @@ set(nseq_HEADERS  ns_model.hh
                   thermodynamics.hh 
                   passtraits.hh)
 
-set(BASEDIR ../../main)
-
-# helper variables
-set(SOURCEBASE  ${BASEDIR}/main.cc chorjo.cc)
-set(SOURCES  ${SOURCEBASE} ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc
-                                        ${BASEDIR}/main_2.cc ${BASEDIR}/main_3.cc)
-set(SOURCES12  ${SOURCEBASE} ${BASEDIR}/main_1.cc ${BASEDIR}/main_2.cc)
-set(SOURCEONEP  ${SOURCEBASE} ${BASEDIR}/main_pol.cc)
-
 set(GRIDTYPE YASPGRID)
 set(GRIDDIM  3)
 set(POLORDER 2)
@@ -24,11 +15,8 @@ set(PROBLEM 2)
 set(FLUX 1)
 set(DIFFFLUX PRIMALDG)
 
-set(TESTS nseq
-          nseq12
-          nseqonep) 
-
-
+set(TESTS navierstokes
+          navierstokesall)
 
 add_definitions( "-D${GRIDTYPE}" )
 add_definitions( "-DGRIDDIM=${GRIDDIM}" )
@@ -39,21 +27,16 @@ add_definitions( "-DPROBLEM=${PROBLEM}" )
 
 include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/navierstokes")
 
-add_executable( nseq ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc ${BASEDIR}/main_2.cc ${BASEDIR}/main_3.cc )
-dune_target_link_libraries(nseq ${DUNE_LIBS})
-set_property(TARGET nseq APPEND PROPERTY 
-  COMPILE_DEFINITIONS "LIMITER")
-
-add_executable( nseq12 ${BASEDIR}/main.cc ${BASEDIR}/main_0.cc ${BASEDIR}/main_1.cc )
-dune_target_link_libraries(nseq12 ${DUNE_LIBS})
-set_property(TARGET nseq12 APPEND PROPERTY 
-  COMPILE_DEFINITIONS "ONLY_P1_P2")
-
-add_executable( nseqonep ${BASEDIR}/main_pol.cc )
-dune_target_link_libraries(nseqonep ${DUNE_LIBS})
-set_property(TARGET nseqonep APPEND PROPERTY 
+add_executable( navierstokes ${SOURCEONE})
+dune_target_link_libraries(navierstokes ${DUNE_LIBS})
+set_property(TARGET navierstokes APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
 
+           add_executable( navierstokesall ${SOURCEALL})
+dune_target_link_libraries(navierstokes ${DUNE_LIBS})
+set_property(TARGET navierstokesall APPEND PROPERTY 
+  COMPILE_DEFINITIONS "LIMITER")
+
 # We do not want want to build the tests during make all
 # but just build them on demand
 install(FILES ${nseq_HEADERS} DESTINATION ${nseqdir})
diff --git a/dune/fem-dg/test/poisson/CMakeLists.txt b/dune/fem-dg/test/poisson/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a89a76f3503c005781dcd5d2fb8c19a7231bfc6c
--- /dev/null
+++ b/dune/fem-dg/test/poisson/CMakeLists.txt
@@ -0,0 +1,42 @@
+# install these headers
+set(poissondir ${CMAKE_INSTALL_INCLUDEDIR}/test/poisson)
+set(poisson_HEADERS benchmarkproblems.hh
+                    models.hh
+                    passtraits.hh
+                    problemcreator.hh
+                    poissonproblem.hh )
+                                      
+set(GRIDTYPE  YASPGRID)
+set(POLORDER  2)
+set(GRIDDIM  2)
+set(DIMRANGE  1)
+set(FLUX 1) #2
+
+set(TESTS poisson
+          poissonall) 
+
+add_definitions( "-D${GRIDTYPE}" )
+add_definitions( "-DGRIDDIM=${GRIDDIM}" )
+add_definitions( "-DDIMRANGE=${DIMRANGE}" )
+add_definitions( "-DFLUX=${FLUX}" )
+add_definitions( "-DPRIMALDG" )
+add_definitions( "-DUSE_ASSERT_THROW" ) 
+
+include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/poisson")
+
+add_executable( poissonall ${SOURCEALL})
+dune_target_link_libraries(poissonall ${DUNE_LIBS})
+
+add_executable( poisson ${SOURCEONE})
+dune_target_link_libraries(poisson ${DUNE_LIBS})
+set_property(TARGET poisson APPEND PROPERTY 
+             COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
+
+# We do not want want to build the tests during make all
+# but just build them on demand
+install(FILES ${poisson_HEADERS} DESTINATION ${poissondir})
+foreach(i ${TESTS})
+  add_test(${i} ${i})
+endforeach(i ${TESTS})
+add_directory_test_target(_test_target)
+add_dependencies(${_test_target} ${TESTS} ${COMPILE_XFAIL_TESTS})