diff --git a/dune/common/test/CMakeLists.txt b/dune/common/test/CMakeLists.txt
index 794bb8c316c5f0643683f929cc319e981942438d..5837f73fd2cbc5440023e556acdd449fddd04ec1 100644
--- a/dune/common/test/CMakeLists.txt
+++ b/dune/common/test/CMakeLists.txt
@@ -79,9 +79,7 @@ add_executable("dynvectortest" dynvectortest.cc)
 
 add_executable("eigenvaluestest" eigenvaluestest.cc)
 target_link_libraries(eigenvaluestest dunecommon)
-if(LAPACK_FOUND)
-  target_link_libraries(eigenvaluestest ${LAPACK_LIBRARIES})
-endif(LAPACK_FOUND)
+target_link_libraries(eigenvaluestest ${LAPACK_LIBRARIES})
 
 add_executable("diagonalmatrixtest" diagonalmatrixtest.cc)
 target_link_libraries("diagonalmatrixtest" "dunecommon")
@@ -172,6 +170,7 @@ endforeach(_TEST)
 
 # treat tests returning code 77 as skipped
 set_tests_properties(
+  eigenvaluestest
   mpicollectivecommunication
   PROPERTIES SKIP_RETURN_CODE 77)
 
diff --git a/dune/common/test/eigenvaluestest.cc b/dune/common/test/eigenvaluestest.cc
index cdd428df90ef42accce60db340fc695fd79a46b6..80af66f13c50168b6b01e7d8d4fd40ded8efa7c5 100644
--- a/dune/common/test/eigenvaluestest.cc
+++ b/dune/common/test/eigenvaluestest.cc
@@ -14,6 +14,7 @@
 
 using namespace Dune;
 
+#if HAVE_LAPACK
 /** \brief Test the eigenvalue code with the Rosser test matrix
 
    This matrix was a challenge for many matrix eigenvalue
@@ -124,14 +125,20 @@ void testSymmetricFieldMatrix()
         DUNE_THROW(MathError, "Values computed by FMatrixHelp::eigenValues are not in ascending order");
   }
 }
+#endif // HAVE_LAPACK
 
 int main() try
 {
+#if HAVE_LAPACK
   testRosserMatrix<double>();
 
   testSymmetricFieldMatrix<double>();
 
   return 0;
+#else
+  std::cout << "WARNING: eigenvaluetest needs LAPACK, test disabled" << std::endl;
+  return 77;
+#endif // HAVE_LAPACK
 } catch (Exception exception)
 {
   std::cerr << exception << std::endl;