diff --git a/matlab/imcforecast.m b/matlab/imcforecast.m
index 2fa56a2bac68b75b37021d179883b1e6f044f748..ebe8aa1ae1c055c3ebbf25930ba24aecf31179ac 100644
--- a/matlab/imcforecast.m
+++ b/matlab/imcforecast.m
@@ -147,7 +147,7 @@ if isempty(options_.qz_criterium)
 end
 [T,R,ys,info,M_,options_,oo_] = dynare_resolve(M_,options_,oo_);
 
-sQ = sqrt(M_.Sigma_e);
+sQ = chol(M_.Sigma_e,'lower');
 
 NumberOfStates = length(InitState);
 FORCS1 = zeros(NumberOfStates,options_cond_fcst.periods+1,options_cond_fcst.replic);