diff --git a/matlab/dynare_config.m b/matlab/dynare_config.m
index 9be0d8458333770cf1c8f62b68095aee240150a2..6bb1da89aa4ffd4007988c74fbba28e000540847 100644
--- a/matlab/dynare_config.m
+++ b/matlab/dynare_config.m
@@ -82,8 +82,8 @@ if ~isoctave
     p{end+1} = '/missing/vec';
 end
 
-% ordeig() doesn't exist in Octave
-if isoctave
+% ordeig() doesn't exist in Octave < 5
+if isoctave && octave_ver_less_than('5')
     p{end+1} = '/missing/ordeig';
 end
 
@@ -119,8 +119,8 @@ if ~exist('struct2array')
     p{end+1} = '/missing/struct2array';
 end
 
-% isfile is missing in Octave and Matlab<R2017b
-if isoctave || matlab_ver_less_than('9.3')
+% isfile is missing in Octave < 5 and Matlab < R2017b
+if (isoctave && octave_ver_less_than('5')) || (~isoctave && matlab_ver_less_than('9.3'))
     p{end+1} = '/missing/isfile';
 end
 
diff --git a/matlab/warning_config.m b/matlab/warning_config.m
index 720f5aae61ccab65f7a73e193e9b91bb4db0f50c..dce08026fe9678d7962b63b03864ba68e7704e30 100644
--- a/matlab/warning_config.m
+++ b/matlab/warning_config.m
@@ -51,6 +51,7 @@ if isoctave
     warning('off', 'Octave:variable-switch-label');
     warning('off', 'Octave:fortran-indexing');
     warning('off', 'Octave:classdef-to-struct');
+    warning('off', 'Octave:legacy-function'); % For strmatch and isdir
 else
     % In MATLAB >= 7.7, don't display a warning if we use deprecated
     % interface to set seed of random number generators