diff --git a/interface/CPP/teqpcpp.cpp b/interface/CPP/teqpcpp.cpp
index b6e9f2199b4b06f14db6bb978d06f7ba05d13710..749301718a038be250e2df01b04a205c8c5893f7 100644
--- a/interface/CPP/teqpcpp.cpp
+++ b/interface/CPP/teqpcpp.cpp
@@ -56,7 +56,8 @@ namespace teqp {
             }
             std::tuple<double, double> extrapolate_from_critical(const double Tc, const double rhoc, const double Tnew) const override {
                 return std::visit([&](const auto& model) {
-                    return teqp::extrapolate_from_critical(model, Tc, rhoc, Tnew);
+                    auto mat = teqp::extrapolate_from_critical(model, Tc, rhoc, Tnew);
+                    return std::make_tuple(mat[0], mat[1]);
                 }, m_model);
             }