diff --git a/dune/solvers/test/CMakeLists.txt b/dune/solvers/test/CMakeLists.txt
index 5a54e1331347e3578994498f18b904a7a6dc181b..7708621db821ff683a8f89d42742c9a1d8eee611 100644
--- a/dune/solvers/test/CMakeLists.txt
+++ b/dune/solvers/test/CMakeLists.txt
@@ -10,7 +10,6 @@ set(OTHER_TESTS
   lowrankoperatortest
   nulloperatortest
   sumoperatortest
-  umfpacksolvertest
   )
 
 set(TESTS_IPOPT mmgtest quadraticipoptsolvertest)
@@ -19,6 +18,10 @@ if(HAVE_IPOPT)
   list(APPEND GRID_BASED_TESTS ${TESTS_IPOPT})
 endif()
 
+if(UMFPACK_FOUND)
+  list(APPEND TESTS umfpacksolvertest)
+endif()
+
 set(TESTS ${OTHER_TESTS} ${GRID_BASED_TESTS})
 
 foreach(_test ${TESTS})
@@ -27,6 +30,10 @@ foreach(_test ${TESTS})
   add_test(${_test} ${_test})
 endforeach()
 
+if(UMFPACK_FOUND)
+  add_dune_umfpack_flags(umfpacksolvertest)
+endif()
+
 if(HAVE_IPOPT)
   foreach(_test ${TESTS_IPOPT})
     add_dune_ipopt_flags(${_test})
@@ -40,7 +47,5 @@ foreach(_test ${GRID_BASED_TESTS})
   endif(HAVE_UG)
 endforeach()
 
-add_dune_umfpack_flags(umfpacksolvertest)
-
 add_directory_test_target(_test_target)
 add_dependencies(${_test_target} ${TESTS})