diff --git a/dune/istl/operators.hh b/dune/istl/operators.hh
index 89a5a95351e31f5ef03668b5baf0aab3947fab66..34a900f5f5db182f10353fa5df54fdf610c3cc5c 100644
--- a/dune/istl/operators.hh
+++ b/dune/istl/operators.hh
@@ -84,7 +84,7 @@ namespace Dune {
 
     //! Category of the linear operator (see SolverCategory::Category)
     virtual SolverCategory::Category category() const
-#ifdef DUNE_ISTL_SUPPORT_OLD_CATEGORY_INTERFACE
+#if DUNE_ISTL_SUPPORT_OLD_CATEGORY_INTERFACE
     {
       DUNE_THROW(Dune::Exception,"It is necessary to implement the category method in a derived classes, in the future this method will pure virtual.");
     };
diff --git a/dune/istl/preconditioner.hh b/dune/istl/preconditioner.hh
index bfe0041bc013b53c0304ba03c37fec8a66c9ff42..cfaf44d10615871a9f898ea5f7f3be70c1660381 100644
--- a/dune/istl/preconditioner.hh
+++ b/dune/istl/preconditioner.hh
@@ -77,7 +77,7 @@ namespace Dune {
 
     //! Category of the preconditioner (see SolverCategory::Category)
     virtual SolverCategory::Category category() const
-#ifdef DUNE_ISTL_SUPPORT_OLD_CATEGORY_INTERFACE
+#if DUNE_ISTL_SUPPORT_OLD_CATEGORY_INTERFACE
     {
       DUNE_THROW(Dune::Exception,"It is necessary to implement the category method in a derived classes, in the future this method will pure virtual.");
     }
diff --git a/dune/istl/scalarproducts.hh b/dune/istl/scalarproducts.hh
index 38dc771680628ab2bafc5abe3922f77238eff4b7..4a0a8c0c11209af1551f5fb4f6104b901f9a6269 100644
--- a/dune/istl/scalarproducts.hh
+++ b/dune/istl/scalarproducts.hh
@@ -63,9 +63,13 @@ namespace Dune {
 
     //! Category of the scalar product (see SolverCategory::Category)
     virtual SolverCategory::Category category() const
+#if DUNE_ISTL_SUPPORT_OLD_CATEGORY_INTERFACE
     {
       DUNE_THROW(Dune::Exception,"It is necessary to implement the category method in a derived classes, in the future this method will pure virtual.");
     }
+#else
+    = 0;
+#endif
 
     //! every abstract base class has a virtual destructor
     virtual ~ScalarProduct () {}