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_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)