diff --git a/include/teqp/algorithms/VLE.hpp b/include/teqp/algorithms/VLE.hpp
index 0c94243a14104f73977589c3a1ff2e4464b8d203..392ea8668b228b298971186375fb994cffe434a8 100644
--- a/include/teqp/algorithms/VLE.hpp
+++ b/include/teqp/algorithms/VLE.hpp
@@ -103,7 +103,8 @@ auto do_pure_VLE_T(Residual &resid, Scalar rhoL, Scalar rhoV, int maxiter) {
 
 template<typename Model, typename Scalar>
 auto pure_VLE_T(const Model& model, Scalar T, Scalar rhoL, Scalar rhoV, int maxiter) {
-    return do_pure_VLE_T(IsothermPureVLEResiduals(model, T), rhoL, rhoV, maxiter);
+    auto res = IsothermPureVLEResiduals(model, T);
+    return do_pure_VLE_T(res, rhoL, rhoV, maxiter);
 }
 
 template<typename Model, typename Scalar>