diff --git a/src/dynare_gui.m b/src/dynare_gui.m
index 8c40b359617718dbbb87281c68bb17721362bf95..6db79949e72749f47e9c7011d54116bdd4dd74ac 100644
--- a/src/dynare_gui.m
+++ b/src/dynare_gui.m
@@ -99,7 +99,7 @@ function project_new_Callback(hObject, ~, ~)
 global M_ oo_ options_
 global project_info model_settings
 
-%% Reset GUI data
+% Reset GUI data
 if ~isempty(project_info)
     % Close existing project
     if isstruct(project_info) ...
@@ -107,7 +107,7 @@ if ~isempty(project_info)
             && isfield(project_info, 'project_name') ...
             && ~isempty(project_info.project_name)
         try
-            gui_close_project();
+            gui_close_project(true);
         catch
         end
     end
@@ -182,7 +182,7 @@ if isstruct(project_info) ...
         && isfield(project_info, 'project_name') ...
         && ~isempty(project_info.project_name)
     try
-        gui_close_project();
+        gui_close_project(true);
     catch
     end
 end
@@ -192,7 +192,7 @@ end
 
 % --------------------------------------------------------------------
 function project_close_Callback(~, ~, ~)
-gui_close_project();
+gui_close_project(false);
 end
 
 % --------------------------------------------------------------------
diff --git a/src/gui_close_project.m b/src/gui_close_project.m
index 24971c3393760d8408fae8756c8a089fbf083af8..530f65ec4ba9bff73f296c3212a75fadd98bb739 100644
--- a/src/gui_close_project.m
+++ b/src/gui_close_project.m
@@ -1,4 +1,4 @@
-function gui_close_project()
+function gui_close_project(clear_dynare_vars)
 % function gui_close_project()
 % closes current project Dynare_GUI project file
 %
@@ -11,7 +11,7 @@ function gui_close_project()
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2003-2019 Dynare Team
+% Copyright (C) 2003-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -28,7 +28,7 @@ function gui_close_project()
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
-global project_info model_settings
+global project_info
 
 gui_tools.project_log_entry('Project Close', ['project_name = ' project_info.project_name '; project_folder=' project_info.project_folder])
 
@@ -47,10 +47,11 @@ gui_tabs.close_all();
 %disable menu options
 gui_set_menus(false);
 
-clearvars -global
-evalin('global', 'clear M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_');
-evalin('global', 'clear project_info model_settings');
-clear_persistent_variables(fileparts(which('dynare')), true)
+evalin('base', 'clear project_info model_settings');
+if clear_dynare_vars
+    evalin('base', 'clear M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_');
+    clear_persistent_variables(fileparts(which('dynare')), true)
+end
 
 % remove appdata
 if isappdata(0, 'estimation')