diff --git a/matlab/dynare.m b/matlab/dynare.m
index d5b86f54bb04adcce681cd21384d679ac4f081d7..324261e436b41e4bb1e8ab588b1f67ffb96d880d 100644
--- a/matlab/dynare.m
+++ b/matlab/dynare.m
@@ -51,15 +51,12 @@ change_path_flag = true;
 % Filter out some options.
 preprocessoroutput = true;
 if nargin>1
-    id = strfind(varargin,'nopathchange');
-    if ~all(cellfun(@isempty, id))
+    id = ismember(varargin, 'nopathchange');
+    if any(id)
         change_path_flag = false;
-        varargin(cellfun(@isempty, id) == 0) = [];
-    end
-    id = strfind(varargin, 'nopreprocessoroutput');
-    if ~all(cellfun(@isempty, id))
-        preprocessoroutput = false;
+        varargin(id) = [];
     end
+    preprocessoroutput = ~ismember('nopreprocessoroutput', varargin);
 end
 
 % Check matlab path