diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 967390309598294c79d14aaf98ad808df010da87..819b72cd26558b33ccfb3d31721e9d54c5884d4b 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -130,7 +130,19 @@ ana_deriv = DynareOptions.analytic_derivation;
 DynareOptions.analytic_derivation=0;
 if ~isequal(DynareOptions.mode_compute,11) || ...
         (isequal(DynareOptions.mode_compute,11) && isequal(DynareOptions.order,1))
-  [fval,info] = feval(objective_function,xparam1,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults);
+    %shut off potentially automatic switch to diffuse filter for the
+    %purpose of checking stochastic singularity
+    use_univariate_filters_if_singularity_is_detected_old=DynareOptions.use_univariate_filters_if_singularity_is_detected;
+    DynareOptions.use_univariate_filters_if_singularity_is_detected=0;
+    [fval,info] = feval(objective_function,xparam1,DynareDataset,DatasetInfo,DynareOptions,Model,EstimatedParameters,BayesInfo,BoundsInfo,DynareResults);
+    if info(1)==50
+        fprintf('\ninitial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became singular.\n')    
+        fprintf('initial_estimation_checks:: This is often a sign of stochastic singularity, but can also sometimes happen by chance\n')    
+        fprintf('initial_estimation_checks:: for a particular combination of parameters and data realizations.\n')    
+        error('initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became singular.')    
+    end
+    %reset options 
+    DynareOptions.use_univariate_filters_if_singularity_is_detected=use_univariate_filters_if_singularity_is_detected_old;
 else 
     info=0;
     fval = 0;