diff --git a/matlab/DsgeSmoother.m b/matlab/DsgeSmoother.m
index abc46dbe8cf26a9cb60e1f409efd171ea5758ffc..7e5e1e2c87b401ca4d483c7986962a132deb3a26 100644
--- a/matlab/DsgeSmoother.m
+++ b/matlab/DsgeSmoother.m
@@ -478,8 +478,9 @@ else
         end
         
         if ~isempty(state_uncertainty)
+            mm=size(T,1);
             sstate_uncertainty=zeros(M_.endo_nbr,M_.endo_nbr,gend);
-            sstate_uncertainty(oo_.dr.restrict_var_list,oo_.dr.restrict_var_list,:)=state_uncertainty;
+            sstate_uncertainty(oo_.dr.restrict_var_list,oo_.dr.restrict_var_list,:)=state_uncertainty(1:mm,1:mm,:);
             state_uncertainty=sstate_uncertainty;
             clear sstate_uncertainty
         end