diff --git a/matlab/shock_decomposition/plot_shock_decomposition.m b/matlab/shock_decomposition/plot_shock_decomposition.m
index 7b95613a75226013efef0b845bc0c61bc0b7833c..20c369bf82cd6620f81087b5df29a7d8eafdbbed 100644
--- a/matlab/shock_decomposition/plot_shock_decomposition.m
+++ b/matlab/shock_decomposition/plot_shock_decomposition.m
@@ -265,6 +265,7 @@ if ~isempty(init2shocks) && ~expand
     end
     n=size(init2shocks,1);
     M_.exo_names_init=M_.exo_names;
+    M_.orig_exo_names=M_.exo_names;
     for i=1:n
         j=strmatch(init2shocks{i}{1},orig_endo_names,'exact');
         if ~isempty(init2shocks{i}{2})
@@ -479,7 +480,31 @@ switch type
                     opts=options_;
                     opts.plot_shock_decomp.type='qoq';
                     opts.plot_shock_decomp.use_shock_groups=[];
+                    if ~isempty(init2shocks)
+                        M_.exo_names = M_.orig_exo_names;
+                    end
+                    is_squeezed_steady_state=false;
+                    if length(steady_state)<length(oo_.steady_state)
+                        is_squeezed_steady_state=true;
+                        if isfield(oo_.dr,'ys')
+                            steady_state0= oo_.dr.ys;
+                            oo_.dr.ys = steady_state;
+                        else
+                            steady_state0=oo_.steady_state;
+                            oo_.steady_state=steady_state;
+                        end
+                    end
                     [y_aux, steady_state_aux] = plot_shock_decomposition(M_,oo_,opts,q2a.aux.y);
+                    if is_squeezed_steady_state
+                        if isfield(oo_.dr,'ys')
+                            oo_.dr.ys = steady_state0;
+                        else
+                            oo_.steady_state=steady_state0;
+                        end
+                    end
+                    if ~isempty(init2shocks)
+                        M_.exo_names = M_.exo_names_init;
+                    end
                     q2a.aux.y=y_aux;
                     q2a.aux.yss=steady_state_aux;
                 end