diff --git a/src/+gui_tools/menu_options.m b/src/+gui_tools/menu_options.m
index 33f859320632eea36cf2fd3e4140062ae08fefde..b26b282771574b000cfbf8f3bb21d8a07c1d6391 100644
--- a/src/+gui_tools/menu_options.m
+++ b/src/+gui_tools/menu_options.m
@@ -70,7 +70,9 @@ switch oid
         handles.sensitivity_analysis.Enable = status;
 
     case 'output'
+        handles.output_shocks_dec.Enable = status;
         handles.output_shocks_decomposition.Enable = status;
+        handles.output_realtime_shocks_decomposition.Enable = status;
         if (isfield(oo_, 'dr') && isfield(oo_.dr, 'ghu')) || isfield(oo_, 'SmoothedShocks')
             handles.output_conditional_forecast.Enable = status;
         end
diff --git a/src/dynare_gui.m b/src/dynare_gui.m
index 85ce380dac11fa638e2c698a2f926da34f396f6c..10bd6d2b6ffefdda282ca2d08fc9b4b5e27267b6 100644
--- a/src/dynare_gui.m
+++ b/src/dynare_gui.m
@@ -349,28 +349,13 @@ gui_sensitivity_analysis(tabId);
 end
 
 % Output!
-function output_shocks_dec_Callback(hObject, eventdata, handles)
-% hObject    handle to output (see GCBO)
-% eventdata  reserved - to be defined in a future version of MATLAB
-% handles    structure with handles and user data (see GUIDATA)
+function output_shock_decomposition_Callback(hObject, ~, handles)
+gui_shock_decomposition(addTab(hObject, 'Hist. shock decomp. ', handles));
 end
 
 % --------------------------------------------------------------------
-function output_shocks_decomposition_Callback(hObject, eventdata, handles)
-% hObject    handle to output_shocks_decomposition (see GCBO)
-% eventdata  reserved - to be defined in a future version of MATLAB
-% handles    structure with handles and user data (see GUIDATA)
-tabId = addTab(hObject, 'Hist. shock decomp. ', handles);
-gui_shock_decomposition(tabId);
-end
-
-% --------------------------------------------------------------------
-function output_realtime_shocks_decomposition_Callback(hObject, eventdata, handles)
-% hObject    handle to output_shocks_decomposition (see GCBO)
-% eventdata  reserved - to be defined in a future version of MATLAB
-% handles    structure with handles and user data (see GUIDATA)
-tabId = addTab(hObject, 'Realtime shock decomp. ', handles);
-gui_realtime_shock_decomposition(tabId);
+function output_realtime_shock_decomposition_Callback(hObject, ~, handles)
+gui_realtime_shock_decomposition(addTab(hObject, 'Realtime shock decomp. ', handles));
 end
 
 % --------------------------------------------------------------------
@@ -872,7 +857,6 @@ appdata.lastValidTag = 'output_shocks_dec';
 h39 = uimenu(...
     'Parent',h31,...
     'Enable','off', ...
-    'Callback',@(hObject,eventdata)dynare_gui('output_shocks_dec_Callback',hObject,eventdata,guidata(hObject)),...
     'Label','Shock Decomposition',...
     'Tag','output_shocks_dec',...
     'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
@@ -883,7 +867,7 @@ appdata.lastValidTag = 'output_shocks_decomposition';
 uimenu(...
     'Parent',h39,...
     'Enable','off',...
-    'Callback',@(hObject,eventdata)dynare_gui('output_shocks_decomposition_Callback',hObject,eventdata,guidata(hObject)),...
+    'Callback',@(hObject,eventdata)dynare_gui('output_shock_decomposition_Callback',hObject,eventdata,guidata(hObject)),...
     'Label','Historical',...
     'Tag','output_shocks_decomposition',...
     'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
@@ -894,7 +878,7 @@ appdata.lastValidTag = 'output_realtime_shocks_decomposition';
 uimenu(...
     'Parent',h39,...
     'Enable','off',...
-    'Callback',@(hObject,eventdata)dynare_gui('output_realtime_shocks_decomposition_Callback',hObject,eventdata,guidata(hObject)),...
+    'Callback',@(hObject,eventdata)dynare_gui('output_realtime_shock_decomposition_Callback',hObject,eventdata,guidata(hObject)),...
     'Label','Realtime',...
     'Tag','output_realtime_shocks_decomposition',...
     'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
diff --git a/src/gui_shock_decomposition.m b/src/gui_shock_decomposition.m
index a75fd19450cb8716e09ae6253e09b0548ce8d5ea..68445410c5b4dd8931f4cdd5d99fb0c35a869fc6 100644
--- a/src/gui_shock_decomposition.m
+++ b/src/gui_shock_decomposition.m
@@ -235,10 +235,10 @@ handles.pushbuttonClose = uicontrol( ...
     end
 
     function pushbuttonShockDecomposition_Callback(hObject, ~)
-        if ~isfield(oo_, 'SmoothedVariables') || ~isfield(oo_, 'SmoothedShocks')
-            gui_tools.show_warning('Please run estimation before shock decomposition');
-            return
-        end
+%         if ~isfield(oo_, 'SmoothedVariables') || ~isfield(oo_, 'SmoothedShocks')
+%             gui_tools.show_warning('Please run estimation before shock decomposition');
+%             return
+%         end
         old_options = options_;
         options_.datafile = project_info.data_file;
         values = handles.parameterSet.String;
@@ -392,7 +392,7 @@ handles.pushbuttonClose = uicontrol( ...
     end
 
     function parameterSet_CreateFcn(hObject, ~)
-        if ispc && isequal(hObject.BackgroundColor, get(0,'defaultUicontrolBackgroundColor')
+        if ispc && isequal(hObject.BackgroundColor, get(0, 'defaultUicontrolBackgroundColor'))
             hObject.BackgroundColor = 'white';
         end
         hObject.String = {'calibration','prior_mode', 'mle_mode', 'prior_mean', 'posterior_mode', 'posterior_mean','posterior_median'};
@@ -404,11 +404,11 @@ handles.pushbuttonClose = uicontrol( ...
         elseif isfield(oo_, 'mle_mode')
             handles.parameterSetDefault = 3;
         end
-        hObject.Value = handles.parameterSetDefault);
+        hObject.Value = handles.parameterSetDefault;
     end
 
     function firstPeriodQuarter_CreateFcn(hObject, ~)
-        if ispc && isequal(hObject.BackgroundColor, get(0,'defaultUicontrolBackgroundColor')
+        if ispc && isequal(hObject.BackgroundColor, get(0, 'defaultUicontrolBackgroundColor'))
             hObject.BackgroundColor = 'white';
         end
         hObject.String = {'Q1', 'Q2', 'Q3', 'Q4'};
@@ -417,7 +417,7 @@ handles.pushbuttonClose = uicontrol( ...
     end
 
     function firstPeriodYear_CreateFcn(hObject, ~)
-        if ispc && isequal(hObject.BackgroundColor, get(0,'defaultUicontrolBackgroundColor'))
+        if ispc && isequal(hObject.BackgroundColor, get(0, 'defaultUicontrolBackgroundColor'))
             hObject.BackgroundColor = 'white';
         end
         hObject.String = cellstr(num2str((first_period.time(1):last_period.time(1))'));
@@ -426,7 +426,7 @@ handles.pushbuttonClose = uicontrol( ...
     end
 
     function lastPeriodQuarter_CreateFcn(hObject, ~)
-        if ispc && isequal(hObject.BackgroundColor), get(0, 'defaultUicontrolBackgroundColor')
+        if ispc && isequal(hObject.BackgroundColor, get(0, 'defaultUicontrolBackgroundColor'))
             hObject.BackgroundColor = 'white';
         end
         hObject.String = {'Q1','Q2', 'Q3', 'Q4'};
@@ -435,7 +435,7 @@ handles.pushbuttonClose = uicontrol( ...
     end
 
     function lastPeriodYear_CreateFcn(hObject, ~)
-        if ispc && isequal(hObject.BackgroundColor), get(0, 'defaultUicontrolBackgroundColor')
+        if ispc && isequal(hObject.BackgroundColor, get(0, 'defaultUicontrolBackgroundColor'))
             hObject.BackgroundColor = 'white';
         end
         hObject.String = cellstr(num2str((first_period.time(1):last_period.time(1))'));