diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m
index 1f8e8d4db6513d7632dc59aff1a9e217902fba13..8999db0c25c8accab6af3e39b7ba06c6ae4d7ae2 100644
--- a/matlab/global_initialization.m
+++ b/matlab/global_initialization.m
@@ -157,7 +157,7 @@ options_.filter_step_ahead = [];
 options_.filtered_vars = 0;
 options_.first_obs = 1;
 options_.kalman_algo = 0;
-options_.kalman_tol = 1e-12;
+options_.kalman_tol = 1e-10;
 options_.riccati_tol = 1e-6;
 options_.lik_algo = 1;
 options_.lik_init = 1;
diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy
index 2fcd65ebd08536dc068e2521af3c68f25e7c32f6..b1eb94cfb42ed26adc31069c79a61bba92da57cb 100644
--- a/preprocessor/DynareBison.yy
+++ b/preprocessor/DynareBison.yy
@@ -1714,7 +1714,7 @@ o_moments_varendo : MOMENTS_VARENDO { driver.option_num("moments_varendo", "1");
 o_filtered_vars : FILTERED_VARS { driver.option_num("filtered_vars", "1"); };
 o_relative_irf : RELATIVE_IRF { driver.option_num("relative_irf", "1"); };
 o_kalman_algo : KALMAN_ALGO EQUAL INT_NUMBER { driver.option_num("kalman_algo", $3); };
-o_kalman_tol : KALMAN_TOL EQUAL INT_NUMBER { driver.option_num("kalman_tol", $3); };
+o_kalman_tol : KALMAN_TOL EQUAL non_negative_number { driver.option_num("kalman_tol", $3); };
 o_marginal_density : MARGINAL_DENSITY EQUAL LAPLACE
                      { driver.option_str("mc_marginal_density", "laplace"); }
                    | MARGINAL_DENSITY EQUAL MODIFIEDHARMONICMEAN