diff --git a/mex/sources/k_order_welfare/k_order_welfare.cc b/mex/sources/k_order_welfare/k_order_welfare.cc
index 9f0c72a6f3d3be2e03c8e666404b394271d289ba..b660b7648cf9eed9520624998cf025bd76b4c524 100644
--- a/mex/sources/k_order_welfare/k_order_welfare.cc
+++ b/mex/sources/k_order_welfare/k_order_welfare.cc
@@ -173,7 +173,7 @@ extern "C"
     if (!(param_names_mx && mxIsCell(param_names_mx)))
       mexErrMsgTxt("M_.param_names should be a cell array");
     std::vector<std::string> paramNames = DynareMxArrayToString(param_names_mx);
-    auto it = std::find(paramNames.begin(), paramNames.end(), "optimal_policy_discount_factor");
+    auto it = std::ranges::find(paramNames, "optimal_policy_discount_factor");
     double discount_factor;
     if (it != paramNames.end())
       discount_factor = modParams[std::distance(paramNames.begin(), it)];