diff --git a/src/tests/catch_tests.cxx b/src/tests/catch_tests.cxx
index 7d92a0f0d743c216149d5feccf188de848c6e0ce..ef7e7636c1d994a43e4fe2ddafc6e59f33b40ef9 100644
--- a/src/tests/catch_tests.cxx
+++ b/src/tests/catch_tests.cxx
@@ -218,6 +218,30 @@ TEST_CASE("Check 0n derivatives", "[PCSAFT]")
     CHECK(std::abs(Ar01 - Ar01mp) < 1e-13);
     CHECK(std::abs(Ar01 - Ar01mcx) < 1e-13);
     CHECK(std::abs(Ar01 - Ar01csd) < 1e-13);
+
+    auto Ar03 = tdx::get_Arxy<0,3>(model, T, rho, molefrac);
+    auto Ar03n = tdx::get_Ar0n<3>(model, T, rho, molefrac)[3];
+    auto Ar03mp = static_cast<double>((D*D*D)*centered_diff<3, 4>(fD, D, h));
+    auto Ar03mcx = tdx::get_Ar0n<3,ADBackends::multicomplex>(model, T, rho, molefrac)[3];
+    CAPTURE(Ar03);
+    CAPTURE(Ar03n);
+    CAPTURE(Ar03mp);
+    CAPTURE(Ar03mcx);
+    CHECK(std::abs(Ar03 - Ar03n) < 1e-13);
+    CHECK(std::abs(Ar03 - Ar03mp) < 1e-13);
+    CHECK(std::abs(Ar03 - Ar03mcx) < 1e-13);
+
+    auto Ar04 = tdx::get_Arxy<0,4>(model, T, rho, molefrac);
+    auto Ar04n = tdx::get_Ar0n<4>(model, T, rho, molefrac)[4];
+    auto Ar04mp = static_cast<double>((D*D*D*D)*centered_diff<4, 4>(fD, D, h));
+    auto Ar04mcx = tdx::get_Ar0n<4,ADBackends::multicomplex>(model, T, rho, molefrac)[4];
+    CAPTURE(Ar04);
+    CAPTURE(Ar04n);
+    CAPTURE(Ar04mp);
+    CAPTURE(Ar04mcx);
+    CHECK(std::abs(Ar04 - Ar04n) < 1e-13);
+    CHECK(std::abs(Ar04 - Ar04mp) < 1e-13);
+    CHECK(std::abs(Ar04 - Ar04mcx) < 1e-13);
 }
 
 TEST_CASE("Test all vdW derivatives good to numerical precision", "[vdW]")