diff --git a/tests/Makefile.am b/tests/Makefile.am
index 874d44a3ba89246b51ffc7087a361047a3db1538..a7324875a37e90e7eb246e1a0f3794ae390422f6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -298,9 +298,12 @@ MODFILES = \
 	gradient/fs2000_numgrad_5.mod \
 	filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod \
 	filter_step_ahead/fs2000_filter_step_ahead_ML.mod \
+	loglinear/example4_exp.mod \
 	loglinear/example4_loglinear.mod \
 	loglinear/example4_loglinear_lagged_exogenous.mod \
 	loglinear/example4_loglinear_lagged_exogenous_a.mod \
+	loglinear/example4_exp_histval.mod \
+	loglinear/example4_loglinear_histval.mod \
 	smoother2histval/fs2000_simul.mod \
 	smoother2histval/fs2000_smooth.mod \
 	smoother2histval/fs2000_smooth_stoch_simul.mod \
@@ -463,9 +466,14 @@ deterministic_simulations/multiple_lead_lags/sim_lead_lag.o.trs: deterministic_s
 deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.m.trs: ramst.m.trs 
 deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.o.trs: ramst.o.trs
 
+loglinear/example4_loglinear.m.trs: loglinear/example4_exp.m.trs
+loglinear/example4_loglinear.o.trs: loglinear/example4_exp.o.trs
 loglinear/example4_loglinear_lagged_exogenous_a.m.trs: loglinear/example4_loglinear_lagged_exogenous.m.trs 
 loglinear/example4_loglinear_lagged_exogenous_a.o.trs: loglinear/example4_loglinear_lagged_exogenous.o.trs 
 
+loglinear/example4_loglinear_histval.m.trs: loglinear/example4_exp_histval.m.trs
+loglinear/example4_loglinear_histval.o.trs: loglinear/example4_exp_histval.o.trs
+
 observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter_first_obs.m.trs: observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.m.trs
 observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter_first_obs.o.trs: observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.o.trs
 observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.m.trs: observation_trends_and_prefiltering/ML/Trend_no_prefilter.m.trs
@@ -964,6 +972,8 @@ clean-local:
 
 	rm -f initval_file/ramst_initval_file_data_col_vec_mat.mat initval_file/ramst_initval_file_data_row_vec_mat.mat initval_file/ramst_initval_file_excel.xls
 
+	rm -f loglinear/results_exp_histval.mat loglinear/results_exp.mat
+
 	find . -name "*.tex" -type f -delete
 	find . -name "*.aux" -type f -delete
 	find . -name "*.log" -type f -delete
diff --git a/tests/loglinear/example4_exp.mod b/tests/loglinear/example4_exp.mod
index e53b68db74ef537f524ce8f6c98486b29af87119..4fd4811bf4613303f67b3bf9459ee03fcf524508 100644
--- a/tests/loglinear/example4_exp.mod
+++ b/tests/loglinear/example4_exp.mod
@@ -64,5 +64,19 @@ var e, u = phi*0.009*0.009;
 end;
 
 stoch_simul(order=1);
+forecast;
+conditional_forecast_paths;
+var a;
+periods  1  2  ;
+values   0.01 -0.02;
+var b;
+periods 1 2;
+values  0.05 0;
+end;
+
+conditional_forecast(parameter_set=calibration, controlled_varexo=(u,e));
+
 oo_exp=oo_;
-save results_exp.mat oo_exp
+load('conditional_forecasts.mat')
+conditional_forecasts_exp=forecasts;
+save results_exp.mat oo_exp conditional_forecasts_exp
\ No newline at end of file
diff --git a/tests/loglinear/example4_exp_histval.mod b/tests/loglinear/example4_exp_histval.mod
new file mode 100644
index 0000000000000000000000000000000000000000..e07a0a6fbf094754f29a7c9687b0555bce5667c3
--- /dev/null
+++ b/tests/loglinear/example4_exp_histval.mod
@@ -0,0 +1,92 @@
+/*
+ * Example 1 from F. Collard (2001): "Stochastic simulations with DYNARE:
+ * A practical guide" (see "guide.pdf" in the documentation directory).
+ */
+
+/*
+ * Copyright (C) 2001-2016 Dynare Team
+ *
+ * This file is part of Dynare.
+ *
+ * Dynare is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Dynare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+var y, c, k, a, h, b;
+varexo e, u;
+
+parameters beta, rho, alpha, delta, theta, psi, tau;
+
+alpha = 0.36;
+rho   = 0.95;
+tau   = 0.025;
+beta  = 0.99;
+delta = 0.025;
+psi   = 0;
+theta = 2.95;
+
+phi   = 0.1;
+
+model;
+exp(c)*theta*exp(h)^(1+psi)=(1-alpha)*exp(y);
+exp(k) = beta*(((exp(b)*exp(c))/(exp(b(+1))*exp(c(+1))))
+    *(exp(b(+1))*alpha*exp(y(+1))+(1-delta)*exp(k)));
+exp(y) = exp(a)*(exp(k(-1))^alpha)*(exp(h)^(1-alpha));
+exp(k) = exp(b)*(exp(y)-exp(c))+(1-delta)*exp(k(-1));
+a = rho*a(-1)+tau*b(-1) + e;
+b = tau*a(-1)+rho*b(-1) + u;
+end;
+
+initval;
+y = log(1.08068253095672);
+c = log(0.80359242014163);
+h = log(0.29175631001732);
+k = log(11.08360443260358);
+a = 0;
+b = 0;
+end;
+resid(1);
+shocks;
+var e; stderr 0.009;
+var u; stderr 0.009;
+var e, u = phi*0.009*0.009;
+end;
+
+histval;
+k(0) = log(11.08);
+a(0) = log(1.2);
+b(0) = log(1);
+end;
+
+stoch_simul(order=1,periods=1000);
+forecast;
+
+forecast;
+conditional_forecast_paths;
+var a;
+periods  1  2  ;
+values   0.01 -0.02;
+var b;
+periods 1 2;
+values  0.05 0;
+end;
+
+conditional_forecast(parameter_set=calibration, controlled_varexo=(u,e));
+
+oo_exp=oo_;
+load('conditional_forecasts.mat')
+conditional_forecasts_exp=forecasts;
+
+oo_exp=oo_;
+save results_exp_histval.mat oo_exp conditional_forecasts_exp
diff --git a/tests/loglinear/example4_loglinear.mod b/tests/loglinear/example4_loglinear.mod
index 482a39e7ebac1d7747d8c3456e905eb3afe54cd5..81f4583a424a77e98d2e12529ab62624146c5d84 100644
--- a/tests/loglinear/example4_loglinear.mod
+++ b/tests/loglinear/example4_loglinear.mod
@@ -64,6 +64,18 @@ var e, u = phi*0.009*0.009;
 end;
 
 stoch_simul(loglinear,order=1);
+forecast;
+
+conditional_forecast_paths;
+var a;
+periods  1  2  ;
+values   0.01 -0.02;
+var b;
+periods 1 2;
+values  0.05 0;
+end;
+
+conditional_forecast(parameter_set=calibration, controlled_varexo=(u,e));
 
 load results_exp;
 if max(max(abs(oo_.dr.ghx-oo_exp.dr.ghx)))>1e-10
@@ -99,6 +111,22 @@ for ii=1:length(oo_.autocorr)
     error('Option loglinear wrong, moments not equal')
     end
 end
+
+if max(max(abs(struct2array(oo_.forecast.Mean)-struct2array(oo_exp.forecast.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(oo_.forecast.HPDinf)-struct2array(oo_exp.forecast.HPDinf))))>1e-10 || ...
+    max(max(abs(struct2array(oo_.forecast.HPDsup)-struct2array(oo_exp.forecast.HPDsup))))>1e-10
+    error('Option loglinear wrong, forecast not equal')
+end
+
+load('conditional_forecasts.mat')
+
+if max(max(abs(struct2array(forecasts.cond.Mean)-struct2array(conditional_forecasts_exp.cond.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.cond.ci)-struct2array(conditional_forecasts_exp.cond.ci))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.uncond.Mean)-struct2array(conditional_forecasts_exp.uncond.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.uncond.ci)-struct2array(conditional_forecasts_exp.uncond.ci))))>1e-10 
+    error('Option loglinear wrong, conditional forecast not equal')
+end
+
 stoch_simul(loglinear,order=1,periods=100000);
 if abs(mean(y)-0.0776)>0.02
     error('Simulations are wrong')
diff --git a/tests/loglinear/example4_loglinear_histval.mod b/tests/loglinear/example4_loglinear_histval.mod
new file mode 100644
index 0000000000000000000000000000000000000000..752baa8bc3cd100baad229aa497b6c2b0cc70db1
--- /dev/null
+++ b/tests/loglinear/example4_loglinear_histval.mod
@@ -0,0 +1,124 @@
+/*
+ * Example 1 from F. Collard (2001): "Stochastic simulations with DYNARE:
+ * A practical guide" (see "guide.pdf" in the documentation directory).
+ */
+
+/*
+ * Copyright (C) 2001-2010 Dynare Team
+ *
+ * This file is part of Dynare.
+ *
+ * Dynare is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Dynare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+var y, c, k, a, h, b;
+varexo e, u;
+
+parameters beta, rho, alpha, delta, theta, psi, tau;
+
+alpha = 0.36;
+rho   = 0.95;
+tau   = 0.025;
+beta  = 0.99;
+delta = 0.025;
+psi   = 0;
+theta = 2.95;
+
+phi   = 0.1;
+
+model;
+c*theta*h^(1+psi)=(1-alpha)*y;
+k = beta*(((b*c)/(b(+1)*c(+1)))
+    *(b(+1)*alpha*y(+1)+(1-delta)*k));
+y = a*(k(-1)^alpha)*(h^(1-alpha));
+k = b*(y-c)+(1-delta)*k(-1);
+log(a) = rho*log(a(-1))+tau*log(b(-1)) + e;
+log(b) = tau*log(a(-1))+rho*log(b(-1)) + u;
+end;
+
+initval;
+y = 1.08068253095672;
+c = 0.80359242014163;
+h = 0.29175631001732;
+k = 11.08360443260358;
+a = 1;
+b = 1;
+end;
+
+resid(1);
+shocks;
+var e; stderr 0.009;
+var u; stderr 0.009;
+var e, u = phi*0.009*0.009;
+end;
+
+histval;
+k(0) = 11.08;
+a(0) = 1.2;
+b(0) = 1;
+end;
+
+stoch_simul(loglinear,order=1,periods=1000);
+forecast;
+
+load results_exp_histval;
+if max(max(abs(oo_.dr.ghx-oo_exp.dr.ghx)))>1e-10
+    error('Option loglinear wrong, ghx not equal')
+end
+if max(max(abs(oo_.dr.ghu-oo_exp.dr.ghu)))>1e-10
+    error('Option loglinear wrong, ghu not equal')
+end
+if max(max(abs(oo_.irfs.y_e-oo_exp.irfs.y_e)))>1e-10
+    error('Option loglinear wrong, IRFs not equal')
+end
+if max(max(abs(oo_.irfs.y_u-oo_exp.irfs.y_u)))>1e-10
+    error('Option loglinear wrong, ghu not equal')
+end
+if max(max(abs(oo_.mean-oo_exp.mean)))>1e-10
+    error('Option loglinear wrong, mean not equal')
+end
+if max(max(abs(oo_.dr.ys-oo_exp.dr.ys)))>1e-10
+    error('Option loglinear wrong, ys not equal')
+end
+if max(max(abs(oo_.steady_state-oo_exp.steady_state)))>1e-10
+    error('Option loglinear wrong, steady_state not equal')
+end
+
+if max(max(abs(struct2array(oo_.forecast.Mean)-struct2array(oo_exp.forecast.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(oo_.forecast.HPDinf)-struct2array(oo_exp.forecast.HPDinf))))>1e-10 || ...
+    max(max(abs(struct2array(oo_.forecast.HPDsup)-struct2array(oo_exp.forecast.HPDsup))))>1e-10
+    error('Option loglinear wrong, forecast not equal')
+end
+
+conditional_forecast_paths;
+var a;
+periods  1  2  ;
+values   0.01 -0.02;
+var b;
+periods 1 2;
+values  0.05 0;
+end;
+
+conditional_forecast(parameter_set=calibration, controlled_varexo=(u,e));
+
+
+load('conditional_forecasts.mat')
+
+if max(max(abs(struct2array(forecasts.cond.Mean)-struct2array(conditional_forecasts_exp.cond.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.cond.ci)-struct2array(conditional_forecasts_exp.cond.ci))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.uncond.Mean)-struct2array(conditional_forecasts_exp.uncond.Mean))))>1e-10 || ...
+    max(max(abs(struct2array(forecasts.uncond.ci)-struct2array(conditional_forecasts_exp.uncond.ci))))>1e-10 
+    error('Option loglinear wrong, conditional forecast not equal')
+end
diff --git a/tests/loglinear/results_exp.mat b/tests/loglinear/results_exp.mat
deleted file mode 100644
index fad6d3f8f1d8ff6a74544ef4c6b7783094ffcc13..0000000000000000000000000000000000000000
Binary files a/tests/loglinear/results_exp.mat and /dev/null differ