diff --git a/tests/test_TinyMatrix.cpp b/tests/test_TinyMatrix.cpp
index 3d80a485e36874cf7c5406bb794d2f1ce6678bd3..62f6134429af652b7df2668b7d1b8d2b5ede25f2 100644
--- a/tests/test_TinyMatrix.cpp
+++ b/tests/test_TinyMatrix.cpp
@@ -195,8 +195,8 @@ TEST_CASE("TinyMatrix", "[algebra]") {
       const TinyMatrix<2,double> I = inverse(A2)*A2;
 
       REQUIRE(I(0,0) == Approx(1).epsilon(1E-14));
-      REQUIRE(I(0,1) == Approx(0).epsilon(1E-14));
-      REQUIRE(I(1,0) == Approx(0).epsilon(1E-14));
+      REQUIRE(I(0,1) == Approx(0).margin (1E-14));
+      REQUIRE(I(1,0) == Approx(0).margin (1E-14));
       REQUIRE(I(1,1) == Approx(1).epsilon(1E-14));
     }
 
@@ -206,15 +206,14 @@ TEST_CASE("TinyMatrix", "[algebra]") {
                                     -2,3,4);
       const TinyMatrix<3,double> I = inverse(A3)*A3;
 
-      // Strangely Approx fails for some 0 ...
       REQUIRE(I(0,0) == Approx(1).epsilon(1E-14));
-      REQUIRE(std::abs(I(0,1))<1E-14);
-      REQUIRE(std::abs(I(0,2))<1E-14);
-      REQUIRE(std::abs(I(1,0))<1E-14);
+      REQUIRE(I(0,1) == Approx(0).margin (1E-14));
+      REQUIRE(I(0,2) == Approx(0).margin (1E-14));
+      REQUIRE(I(1,0) == Approx(0).margin (1E-14));
       REQUIRE(I(1,1) == Approx(1).epsilon(1E-14));
-      REQUIRE(std::abs(I(1,2))<1E-14);
-      REQUIRE(std::abs(I(2,0))<1E-14);
-      REQUIRE(std::abs(I(2,1))<1E-14);
+      REQUIRE(I(1,2) == Approx(0).margin (1E-14));
+      REQUIRE(I(2,0) == Approx(0).margin (1E-14));
+      REQUIRE(I(2,1) == Approx(0).margin (1E-14));
       REQUIRE(I(2,2) == Approx(1).epsilon(1E-14));
     }
   }