diff --git a/src/compute-disc-error.cc b/src/compute-disc-error.cc
index 68a76036fbeadac74c83a7b49e11d595557194c0..b0cf6c03465b78951646cad3e8689c561a8c917d 100644
--- a/src/compute-disc-error.cc
+++ b/src/compute-disc-error.cc
@@ -644,7 +644,7 @@ int main (int argc, char *argv[]) try
 
   return 0;
 }
-catch (Exception e)
+catch (Exception& e)
 {
   std::cout << e << std::endl;
   return 1;
diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc
index c9c6bf34174629d29431f3cc2bbf0ab065281555..2bd4f609e85fc86a6f6de7f68adb058fffdeb42e 100644
--- a/src/cosserat-continuum.cc
+++ b/src/cosserat-continuum.cc
@@ -454,7 +454,7 @@ int main (int argc, char *argv[]) try
     }
 
     // //////////////////////////////
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e << std::endl;
 
diff --git a/src/gradient-flow.cc b/src/gradient-flow.cc
index 3971626748108a7be55c4db6bef373d95133e1fb..60f837f491fdda480aae3aa363bdc9f1da381008 100644
--- a/src/gradient-flow.cc
+++ b/src/gradient-flow.cc
@@ -300,7 +300,7 @@ int main (int argc, char *argv[]) try
 
   return 0;
 }
-catch (Exception e)
+catch (Exception& e)
 {
   std::cout << e.what() << std::endl;
   return 1;
diff --git a/src/mixed-cosserat-continuum.cc b/src/mixed-cosserat-continuum.cc
index aecd926cdde3a73f6851c789d4b732013fb03480..05098215edaab160325fbd8d248fe251f8d0f059 100644
--- a/src/mixed-cosserat-continuum.cc
+++ b/src/mixed-cosserat-continuum.cc
@@ -404,7 +404,7 @@ int main (int argc, char *argv[]) try
                 << ",  average deflection: " << averageDef << std::endl;
     }
 
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e << std::endl;
 
diff --git a/test/adolctest.cc b/test/adolctest.cc
index a97174afeb6a14eedbcb1c262bc3365c5b48e8b0..523d7406fba0780826d01b43adff77092d9216a0 100644
--- a/test/adolctest.cc
+++ b/test/adolctest.cc
@@ -588,7 +588,7 @@ int main (int argc, char *argv[]) try
     }
 
     // //////////////////////////////
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e << std::endl;
 
diff --git a/test/frameinvariancetest.cc b/test/frameinvariancetest.cc
index f9a355a8aaaf7ca687124359f478d12474f8242d..24b4151c157ea72326730a4bc91ccc78a8d3adf8 100644
--- a/test/frameinvariancetest.cc
+++ b/test/frameinvariancetest.cc
@@ -97,7 +97,7 @@ int main (int argc, char *argv[]) try
 
     }
 
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e.what() << std::endl;
 
diff --git a/test/localgfetestfunctiontest.cc b/test/localgfetestfunctiontest.cc
index dee684c72e298c63352e8df82b833b65b00a4489..34ff67bd04925db55a010a159cde2b219795d8f0 100644
--- a/test/localgfetestfunctiontest.cc
+++ b/test/localgfetestfunctiontest.cc
@@ -83,7 +83,7 @@ int main() try
     test<Rotation<double,3>, 1>();
     test<Rotation<double,3>, 2>();
 
-} catch (Exception e) {
+} catch (Exception& e) {
     std::cout << e << std::endl;
 }
 
diff --git a/test/rodassemblertest.cc b/test/rodassemblertest.cc
index 6542a07417e99dd8c3611b6b5516f9c954f707ac..aa737baf2f480b5b24a6c6b28c9f8f9112c5fbb8 100644
--- a/test/rodassemblertest.cc
+++ b/test/rodassemblertest.cc
@@ -571,7 +571,7 @@ int main (int argc, char *argv[]) try
     hessianFDCheck(x, hessianMatrix, rodAssembler);
         
     // //////////////////////////////
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e << std::endl;
 
diff --git a/test/rotationtest.cc b/test/rotationtest.cc
index bf349d2f9c21bc4f762d92fc62df652cb28c2493..ac4f2f6a32aeceb42bd568c64157ad318e595458 100644
--- a/test/rotationtest.cc
+++ b/test/rotationtest.cc
@@ -395,7 +395,7 @@ int main (int argc, char *argv[]) try
 
     return not passed;
 
- } catch (Exception e) {
+ } catch (Exception& e) {
 
     std::cout << e << std::endl;
 
diff --git a/test/targetspacetest.cc b/test/targetspacetest.cc
index 820f3e81c8199abf86be9a924fe6ecbac1bb5af0..cadfe4818e3f3c0c8bfce2ff69c7b0e22acaa9cb 100644
--- a/test/targetspacetest.cc
+++ b/test/targetspacetest.cc
@@ -384,7 +384,7 @@ int main() try
 //
 //     test<HyperbolicHalfspacePoint<double,2> >();
 
-} catch (Exception e) {
+} catch (Exception& e) {
 
     std::cout << e << std::endl;