diff --git a/matlab/DsgeSmoother.m b/matlab/DsgeSmoother.m
index e2b658f34e6d0a93d12848b907a7c2af85145a93..14fe6db4fad06db52d4c3b5d9780c9aca3643659 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