diff --git a/dune/solvers/test/CMakeLists.txt b/dune/solvers/test/CMakeLists.txt
index def289cf829a14077549bcda47a13ffb12521d57..207228331c8399cb31a75cc1d4d5ee8d9ea8bbc6 100644
--- a/dune/solvers/test/CMakeLists.txt
+++ b/dune/solvers/test/CMakeLists.txt
@@ -25,9 +25,7 @@ if(UMFPACK_FOUND)
 endif()
 
 foreach(_test ${TESTS})
-  add_executable(${_test} EXCLUDE_FROM_ALL ${_test}.cc)
-  target_link_dune_default_libraries(${_test})
-  add_test(${_test} ${_test})
+  dune_add_test(SOURCES ${_test}.cc)
 endforeach()
 
 if(UMFPACK_FOUND)
@@ -46,6 +44,3 @@ foreach(_test ${GRID_BASED_TESTS})
     add_dune_ug_flags(${_test})
   endif(HAVE_UG)
 endforeach()
-
-add_directory_test_target(_test_target)
-add_dependencies(${_test_target} ${TESTS})