diff --git a/cmake/modules/AmdisMacros.cmake b/cmake/modules/AmdisMacros.cmake
index b1609f5ad6d50b0afc69a5a43e2ee81b02b5a8a7..255910442893b29ae81436a2e0024365ba4c1a18 100644
--- a/cmake/modules/AmdisMacros.cmake
+++ b/cmake/modules/AmdisMacros.cmake
@@ -5,7 +5,7 @@ set(BACKEND "ISTL" CACHE STRING "LinearAlgebra backend. One of MTL, EIGEN, ISTL"
 set_property(CACHE BACKEND PROPERTY STRINGS "MTL" "EIGEN" "ISTL")
 
 if (BACKEND STREQUAL "MTL")
-  find_package(MTL
+  find_package(MTL REQUIRED
     PATHS /usr/local/lib/mtl4 /opt/sources/mtl4 /opt/development/mtl4)
 
   if (MTL_FOUND)
@@ -29,7 +29,7 @@ if (BACKEND STREQUAL "MTL")
       INCLUDE_DIRS ${MTL_INCLUDE_DIRS})
   endif (MTL_FOUND)
 elseif (BACKEND STREQUAL "EIGEN")
-  find_package(Eigen3)
+  find_package(Eigen3 REQUIRED 3.3.5)
 
   set(HAVE_EIGEN EIGEN_FOUND)
   if (EIGEN3_FOUND)
@@ -39,4 +39,6 @@ elseif (BACKEND STREQUAL "EIGEN")
       COMPILE_DEFINITIONS ${EIGEN3_DEFINITIONS}
       INCLUDE_DIRS ${EIGEN3_INCLUDE_DIRS})
   endif (EIGEN3_FOUND)
+elseif (NOT dune-istl_FOUND)
+  message(FATAL "Need dune-istl, MTL, or Eigen3 as linear algebra backend. Change flag BACKEND!")
 endif ()