diff --git a/matlab/dynare_estimation.m b/matlab/dynare_estimation.m
index 571ea4d2ad85ba584e7ccae0767add221349864d..9e99531d06fa18cf920694be003126fe54e706c3 100644
--- a/matlab/dynare_estimation.m
+++ b/matlab/dynare_estimation.m
@@ -12,7 +12,7 @@ function oo_recursive_=dynare_estimation(var_list,dname)
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2003-2018 Dynare Team
+% Copyright (C) 2003-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -214,3 +214,5 @@ if nnobs > 1 && horizon > 0
 end
 options_.mode_file = mode_file0;
 %reset stored mode-file to user defined one (and in case it was only set by the recursive estimation)
+oo_.gui.ran_estimation = true;
+
diff --git a/matlab/evaluate_smoother.m b/matlab/evaluate_smoother.m
index c22cc063580b2a5247e147a950202a7b1ed4419c..62d5b35312cd337743a82f17f076875e7e5ca1d0 100644
--- a/matlab/evaluate_smoother.m
+++ b/matlab/evaluate_smoother.m
@@ -37,7 +37,7 @@ function [oo_,M_,options_,bayestopt_,Smoothed_variables_declaration_order_deviat
 % [1] This function use persistent variables for the dataset and the description of the missing observations. Consequently, if this function
 %     is called more than once (by changing the value of parameters) the sample *must not* change.
 
-% Copyright (C) 2010-2017 Dynare Team
+% Copyright (C) 2010-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -111,3 +111,4 @@ end
 
 %reset qz_criterium
 options_.qz_criterium=qz_criterium_old;
+oo_.gui.ran_calib_smoother = true;
diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m
index 1d9e7f662196aa3283d477736bee69ae8874ba6b..4c9d8c7981d11a48a940611d798a5c25b8ce200d 100644
--- a/matlab/global_initialization.m
+++ b/matlab/global_initialization.m
@@ -93,6 +93,13 @@ oo_.exo_steady_state = [];
 oo_.exo_det_steady_state = [];
 oo_.exo_det_simul = [];
 
+oo_.gui.ran_estimation = false;
+oo_.gui.ran_stoch_simul = false;
+oo_.gui.ran_calib_smoother = false;
+oo_.gui.ran_perfect_foresight = false;
+oo_.gui.ran_shock_decomposition = false;
+oo_.gui.ran_realtime_shock_decomposition = false;
+
 M_.params = [];
 M_.endo_histval = [];
 M_.exo_histval = [];
diff --git a/matlab/perfect-foresight-models/perfect_foresight_solver.m b/matlab/perfect-foresight-models/perfect_foresight_solver.m
index c31a4e57552b820dec9b612e46ca0d13da213387..c86ccfe95ff29615c4d337153e14adc786663deb 100644
--- a/matlab/perfect-foresight-models/perfect_foresight_solver.m
+++ b/matlab/perfect-foresight-models/perfect_foresight_solver.m
@@ -12,7 +12,7 @@ function perfect_foresight_solver()
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 1996-2019 Dynare Team
+% Copyright (C) 1996-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -226,3 +226,6 @@ end
 
 ts = dseries(transpose(oo_.endo_simul), initial_period, M_.endo_names);
 assignin('base', 'Simulated_time_series', ts);
+if oo_.deterministic_simulation.status
+    oo_.gui.ran_perfect_foresight = true;
+end
diff --git a/matlab/realtime_shock_decomposition.m b/matlab/realtime_shock_decomposition.m
index e003710da0122bb8382ebfd9c812a9b002a1207b..6686d5c8e0bb7f39236fb4596b9b951f36ef1ec3 100644
--- a/matlab/realtime_shock_decomposition.m
+++ b/matlab/realtime_shock_decomposition.m
@@ -22,7 +22,7 @@ function oo_ = realtime_shock_decomposition(M_,oo_,options_,varlist,bayestopt_,e
 % SPECIAL REQUIREMENTS
 %    none
 
-% Copyright (C) 2009-2019 Dynare Team
+% Copyright (C) 2009-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -357,5 +357,6 @@ oo_.conditional_shock_decomposition.pool = zcond;
 if forecast_
     oo_.realtime_forecast_shock_decomposition.pool = zfrcst;
 end
+oo_.gui.ran_realtime_shock_decomposition = true;
 
 skipline()
diff --git a/matlab/shock_decomposition.m b/matlab/shock_decomposition.m
index 274e5933485357cf4993829b625f92a85e642838..3ecd08531d6526a34cdada1b674f9cf5ea5e4955 100644
--- a/matlab/shock_decomposition.m
+++ b/matlab/shock_decomposition.m
@@ -23,7 +23,7 @@ function [oo_,M_] = shock_decomposition(M_,oo_,options_,varlist,bayestopt_,estim
 % SPECIAL REQUIREMENTS
 %    none
 
-% Copyright (C) 2009-2019 Dynare Team
+% Copyright (C) 2009-2020 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -141,3 +141,5 @@ oo_.shock_decomposition = z;
 if ~options_.no_graph.shock_decomposition
     oo_ = plot_shock_decomposition(M_,oo_,options_,varlist);
 end
+
+oo_.gui.ran_shock_decomposition = true;
diff --git a/matlab/stoch_simul.m b/matlab/stoch_simul.m
index ba3765da0b9482bf4330e01af3a1dfdd20b8e4a3..3418770fd5d42b5fcb635e3710fb73dda7718aed 100644
--- a/matlab/stoch_simul.m
+++ b/matlab/stoch_simul.m
@@ -393,3 +393,5 @@ end
 options_ = options_old;
 % temporary fix waiting for local options
 options_.partial_information = 0;
+
+oo_.gui.ran_stoch_simul = true;