diff --git a/src/+gui_auxiliary/dynare_command_options_sensitivity.m b/src/+gui_auxiliary/dynare_command_options_sensitivity.m
index 691a17fce18b15b77ee075ae3761234eab19b152..a01396c06673c942c89a8759e9a98fae124d7679 100644
--- a/src/+gui_auxiliary/dynare_command_options_sensitivity.m
+++ b/src/+gui_auxiliary/dynare_command_options_sensitivity.m
@@ -44,19 +44,19 @@ dynare_gui_.sensitivity.sampling{num,4} = 'Size of the Monte-Carlo sample.'; % a
 num = num + 1;
 dynare_gui_.sensitivity.sampling{num,1} = 'ilptau';
 dynare_gui_.sensitivity.sampling{num,2} = 1;
-dynare_gui_.sensitivity.sampling{num,3} = 'check_option';
+dynare_gui_.sensitivity.sampling{num,3} = {'1', '0'};
 dynare_gui_.sensitivity.sampling{num,4} = 'If equal to 1 use lptau quasi-Monte-Carlo. Otherwise use LHS Monte-Carlo.';
 
 num = num + 1;
 dynare_gui_.sensitivity.sampling{num,1} = 'pprior';
 dynare_gui_.sensitivity.sampling{num,2} = 1;
-dynare_gui_.sensitivity.sampling{num,3} = 'check_option';
+dynare_gui_.sensitivity.sampling{num,3} = {'1', '0'};
 dynare_gui_.sensitivity.sampling{num,4} = 'If equal to 1, sample from the prior distributions. If equal to 0, sample from the multivariate normal.';
 
 num = num + 1;
 dynare_gui_.sensitivity.sampling{num,1} = 'prior_range';
 dynare_gui_.sensitivity.sampling{num,2} = 1;
-dynare_gui_.sensitivity.sampling{num,3} = 'check_option';
+dynare_gui_.sensitivity.sampling{num,3} = {'1', '0'};
 dynare_gui_.sensitivity.sampling{num,4} = 'If equal to 1, sample uniformly from prior ranges. If equal to 0, sample from prior distributions.';
 
 num = num + 1;
@@ -93,7 +93,7 @@ dynare_gui_.sensitivity.sampling{num,4} = 'When pprior=0 and ppost=0, allows for
 num = 1;
 dynare_gui_.sensitivity.stability_mapping{num,1} = 'stab';
 dynare_gui_.sensitivity.stability_mapping{num,2} = 1;
-dynare_gui_.sensitivity.stability_mapping{num,3} = 'check_option';
+dynare_gui_.sensitivity.stability_mapping{num,3} = {'1', '0'};
 dynare_gui_.sensitivity.stability_mapping{num,4} = 'If equal to 1, perform stability mapping. If equal to 0, do not perform stability mapping.';
 
 num = num + 1;
diff --git a/src/gui_realtime_shock_decomposition.m b/src/gui_realtime_shock_decomposition.m
index d7cd78d1355b33bb7ab6076c0ac178668668d948..3ccc5f79e07aba3026ed35b01ad077fceaafda71 100644
--- a/src/gui_realtime_shock_decomposition.m
+++ b/src/gui_realtime_shock_decomposition.m
@@ -269,6 +269,15 @@ handles.pushbuttonClose = uicontrol( ...
             'Position', [spc*3+dwidth*1.5 top-num*dheight dwidth*2 dheight/2], ...
             'String', {'qoq','yoy','aoa'}, ...
             'Value', 1);
+        
+        num = num+1.5;
+        handles.noGraph = uicontrol(...
+            'Parent', handles.uipanelResults, ...
+            'Style','checkbox',...
+            'Units', 'normalized', ...
+            'Position', [spc top-num*dheight 1-spc*4 dheight/2], ...
+            'String', 'Only compute shock decomposition, do not plot',...
+            'FontWeight', 'bold');
     end
 
     function pushbuttonShockDecomposition_Callback(hObject, ~)
@@ -300,6 +309,8 @@ handles.pushbuttonClose = uicontrol( ...
         options_.nodisplay = 0;
         options_.plot_priors = 0;
         options_.type = handles.type.String;
+        options_.no_graph.shock_decomposition = handles.noGraph.Value;
+        
         gui_tools.project_log_entry('Running shock decomposition','...');
         [jObj, guiObj] = gui_tools.create_animated_screen('Running shock decomposition, please wait...', tabId);
         var_list_ = handles.endoTable.Data([handles.endoTable.Data{:,1}], 2);
@@ -394,6 +405,7 @@ handles.pushbuttonClose = uicontrol( ...
         handles.lastPeriodYear.Value = handles.lastPeriodYearDefault;
         handles.useShockGrouping.Value = 0;
         handles.type.Value = 1;
+        handles.noGraph = 0;
     end
 
     function close_tab(~, ~, hTab)
diff --git a/src/gui_sensitivity_analysis.m b/src/gui_sensitivity_analysis.m
index a703bbc541c4f9cd3e143de3aac2ffd82131bbc8..8dcebaf61f62b0f680d781c0e2b13bc66b2f145c 100644
--- a/src/gui_sensitivity_analysis.m
+++ b/src/gui_sensitivity_analysis.m
@@ -35,6 +35,8 @@ bg_color = char(getappdata(0, 'bg_color'));
 handles = [];
 gui_size = gui_tools.get_gui_elements_size(tabId);
 
+do_not_check_all_results = 0;
+
 if ~isfield(model_settings, 'sensitivity')
     model_settings.sensitivity = struct();
 end
@@ -52,7 +54,8 @@ handles.sensitivity = uicontrol( ...
     'Tag', 'sensitivity', ...
     'Style', 'text', 'BackgroundColor', bg_color,...
     'Units', 'normalized', 'Position', [0.01 0.01 0.98 0.98], ...
-    'FontAngle', 'italic','String', comm_str, ...
+    'FontAngle', 'italic', ...
+    'String', comm_str, ...
     'TooltipString', comm_str, ...
     'HorizontalAlignment', 'left');
 
@@ -74,6 +77,22 @@ handles.pushbuttonSensitivity = uicontrol( ...
                 options_ = old_options_;
                 for ii = 1:size(names, 1)
                     switch names{ii}
+                        case 'ilptau'
+                            if options_gsa.(names{ii}) == 2
+                                options_gsa.ilptau = 0;
+                            end
+                        case 'pprior'
+                            if options_gsa.(names{ii}) == 2
+                                options_gsa.pprior = 0;
+                            end
+                        case 'prior_range'
+                            if options_gsa.(names{ii}) == 2
+                                options_gsa.prior_range = 0;
+                            end
+                        case 'stab'
+                            if options_gsa.(names{ii}) == 2
+                                options_gsa.stab = 0;
+                            end
                         case 'namendo'
                             if contains(options_gsa.(names{ii}), ',')
                                 namendo_ = strsplit(options_gsa.(names{ii}), ',');
@@ -146,7 +165,7 @@ handles.pushbuttonCommandDefinition = uicontrol( ...
         try
             new_comm = getappdata(0, 'sensitivity');
             model_settings.sensitivity = new_comm;
-            comm_str = gui_tools.command_string('dynare_sensitivity', new_comm);
+            comm_str = gui_tools.command_string('sensitivity', new_comm);
 
             handles.sensitivity.String = comm_str;
             gui_tools.project_log_entry('Defined sensitivity command',comm_str);
diff --git a/src/gui_shock_decomposition.m b/src/gui_shock_decomposition.m
index a75c7e9cf43ad6752f4187c28cb18f8e84745904..da40d6143c1378f07dc77eb7bec752e103796376 100644
--- a/src/gui_shock_decomposition.m
+++ b/src/gui_shock_decomposition.m
@@ -247,6 +247,15 @@ handles.pushbuttonClose = uicontrol( ...
             'Position', [spc*3+dwidth*1.5 top-num*dheight dwidth*2 dheight/2], ...
             'String', {'qoq','yoy','aoa'}, ...
             'Value', 1);
+        
+        num = num+1.5;
+        handles.noGraph = uicontrol(...
+            'Parent', handles.uipanelResults, ...
+            'Style','checkbox',...
+            'Units', 'normalized', ...
+            'Position', [spc top-num*dheight 1-spc*4 dheight/2], ...
+            'String', 'Only compute shock decomposition, do not plot',...
+            'FontWeight', 'bold');
     end
 
     function pushbuttonShockDecomposition_Callback(hObject, ~)
@@ -305,6 +314,7 @@ handles.pushbuttonClose = uicontrol( ...
                 options_.model_settings.shocks = model_settings.shocks;
                 options_.shock_grouping = handles.useShockGrouping.Value;
                 options_.shock_decomp.init_state = handles.useInitState.Value;
+                options_.no_graph.shock_decomposition = handles.noGraph.Value;
                 oo_ = shock_decomposition(M_, oo_, options_, var_list_, bayestopt_, estim_params_);
             end
             jObj.stop;
@@ -370,6 +380,7 @@ handles.pushbuttonClose = uicontrol( ...
         handles.useShockGrouping.Value = 0;
         handles.useInitState.Value = 0;
         handles.type.Value = 1;
+        handles.noGraph = 0;
     end
 
     function close_tab(~, ~, hTab)