diff --git a/DynamicModel.cc b/DynamicModel.cc
index ade20c6c069629783967b02e3b49cbdfb2cc346f..d15d4657b13f205a95c2f2b30381d93ab0f43dc2 100644
--- a/DynamicModel.cc
+++ b/DynamicModel.cc
@@ -1910,7 +1910,7 @@ DynamicModel::writeSparseDynamicMFile(const string &dynamic_basename, const stri
               mDynamicModelFile << "  g1=[];g2=[];g3=[];\n";
               mDynamicModelFile << "  y=" << dynamic_basename << "_" << block + 1 << "(y, x, params, steady_state, 0, y_kmin, periods);\n";
               mDynamicModelFile << "  tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);\n";
-              mDynamicModelFile << "  if(isnan(tmp) || isinf(tmp))\n";
+              mDynamicModelFile << "  if any(isnan(tmp) | isinf(tmp))\n";
               mDynamicModelFile << "    disp(['Inf or Nan value during the evaluation of block " << block <<"']);\n";
               mDynamicModelFile << "    return;\n";
               mDynamicModelFile << "  end;\n";
@@ -1938,7 +1938,7 @@ DynamicModel::writeSparseDynamicMFile(const string &dynamic_basename, const stri
               mDynamicModelFile << "  g1=[];g2=[];g3=[];\n";
               mDynamicModelFile << "  " << dynamic_basename << "_" << block + 1 << "(y, x, params, steady_state, 0, y_kmin, periods);\n";
               mDynamicModelFile << "  tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);\n";
-              mDynamicModelFile << "  if(isnan(tmp) || isinf(tmp))\n";
+              mDynamicModelFile << "  if any(isnan(tmp) | isinf(tmp))\n";
               mDynamicModelFile << "    disp(['Inf or Nan value during the evaluation of block " << block <<"']);\n";
               mDynamicModelFile << "    return;\n";
               mDynamicModelFile << "  end;\n";
@@ -1968,7 +1968,7 @@ DynamicModel::writeSparseDynamicMFile(const string &dynamic_basename, const stri
                             <<", options_.periods, " << blocks_linear[block]
                             <<", blck_num, y_kmin, options_.maxit_, options_.solve_tolf, options_.slowc, " << cutoff << ", options_.stack_solve_algo, 1, 1, 0);\n";
           mDynamicModelFile << "  tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);\n";
-          mDynamicModelFile << "  if(isnan(tmp) || isinf(tmp))\n";
+          mDynamicModelFile << "  if any(isnan(tmp) | isinf(tmp))\n";
           mDynamicModelFile << "    disp(['Inf or Nan value during the resolution of block " << block <<"']);\n";
           mDynamicModelFile << "    return;\n";
           mDynamicModelFile << "  end;\n";
@@ -1998,7 +1998,7 @@ DynamicModel::writeSparseDynamicMFile(const string &dynamic_basename, const stri
                             <<", options_.periods, " << blocks_linear[block]
                             <<", blck_num, y_kmin, options_.maxit_, options_.solve_tolf, options_.slowc, " << cutoff << ", options_.stack_solve_algo, 1, 1, 0);\n";
           mDynamicModelFile << "  tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);\n";
-          mDynamicModelFile << "  if(isnan(tmp) || isinf(tmp))\n";
+          mDynamicModelFile << "  if any(isnan(tmp) | isinf(tmp))\n";
           mDynamicModelFile << "    disp(['Inf or Nan value during the resolution of block " << block <<"']);\n";
           mDynamicModelFile << "    return;\n";
           mDynamicModelFile << "  end;\n";
@@ -2028,7 +2028,7 @@ DynamicModel::writeSparseDynamicMFile(const string &dynamic_basename, const stri
                             <<", " << blocks_linear[block]
                             <<", blck_num, y_kmin, options_.maxit_, options_.solve_tolf, options_.slowc, " << cutoff << ", options_.stack_solve_algo);\n";
           mDynamicModelFile << "  tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);\n";
-          mDynamicModelFile << "  if(isnan(tmp) || isinf(tmp))\n";
+          mDynamicModelFile << "  if any(isnan(tmp) | isinf(tmp))\n";
           mDynamicModelFile << "    disp(['Inf or Nan value during the resolution of block " << block <<"']);\n";
           mDynamicModelFile << "    return;\n";
           mDynamicModelFile << "  end;\n";