diff --git a/src/amdis/linear_algebra/mtl/itl/fgmres.hpp b/src/amdis/linear_algebra/mtl/itl/fgmres.hpp
index 7d4fa6fac2d6cf415b69bc7e84c8229ed5739fac..101ff799539c5d03c6514fc049e9913866ac61e2 100644
--- a/src/amdis/linear_algebra/mtl/itl/fgmres.hpp
+++ b/src/amdis/linear_algebra/mtl/itl/fgmres.hpp
@@ -153,7 +153,7 @@ namespace itl
       {
         y[range] = upper_trisolve(H[range][range], s[range]);
       }
-      catch (mtl::matrix_singular)
+      catch (mtl::matrix_singular const&)
       {
         continue;    // if singular then try with sub-matrix
       }
diff --git a/src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp b/src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
index 6668e7da604fc9cfcf246f921d8b54e663c793ee..2609cda13905a0cde83ee26e82adbaf3ee94b5b1 100644
--- a/src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
+++ b/src/amdis/linear_algebra/mtl/itl/fgmres_householder.hpp
@@ -166,7 +166,7 @@ namespace itl
       {
         y[range] = upper_trisolve(H[range][range], s[range]);
       }
-      catch (mtl::matrix_singular)
+      catch (mtl::matrix_singular const&)
       {
         continue;    // if singular then try with sub-matrix
       }
diff --git a/src/amdis/linear_algebra/mtl/itl/gmres2.hpp b/src/amdis/linear_algebra/mtl/itl/gmres2.hpp
index cf78af92ef3fe32e02a9d10852915456bb7d826e..e41806020dd2b051e3bf61991698d9eb2d7597ce 100644
--- a/src/amdis/linear_algebra/mtl/itl/gmres2.hpp
+++ b/src/amdis/linear_algebra/mtl/itl/gmres2.hpp
@@ -154,7 +154,7 @@ namespace itl
       {
         y[range] = upper_trisolve(H[range][range], s[range]);
       }
-      catch (mtl::matrix_singular)
+      catch (mtl::matrix_singular const&)
       {
         continue;    // if singular then try with sub-matrix
       }
diff --git a/src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp b/src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
index fdb18a870aaccfa2279468127039e1045e36f5e0..c8bdb83643e6302bee33d7397269c3b30074559e 100644
--- a/src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
+++ b/src/amdis/linear_algebra/mtl/itl/gmres_householder.hpp
@@ -162,7 +162,7 @@ namespace itl
       {
         y[range] = upper_trisolve(H[range][range], s[range]);
       }
-      catch (mtl::matrix_singular)
+      catch (mtl::matrix_singular const&)
       {
         continue;    // if singular then try with sub-matrix
       }