diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 6facae426b318dcbb698be854894e6ae900a6981..b6a97e1300f4ce52bd039cb90eb2b7eef43fae05 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -45,11 +45,13 @@ if DynareOptions.order>1 && any(any(isnan(DynareDataset.data)))
     error('initial_estimation_checks:: particle filtering does not support missing observations')
 end
 
-if maximum_number_non_missing_observations>Model.exo_nbr+EstimatedParameters.nvn
+non_zero_ME=length(EstimatedParameters.H_entries_to_check_for_positive_definiteness);
+
+if maximum_number_non_missing_observations>Model.exo_nbr+non_zero_ME
     error(['initial_estimation_checks:: Estimation can''t take place because there are less declared shocks than observed variables!'])
 end
 
-if maximum_number_non_missing_observations>length(find(diag(Model.Sigma_e)))+EstimatedParameters.nvn
+if maximum_number_non_missing_observations>length(find(diag(Model.Sigma_e)))+non_zero_ME
     error(['initial_estimation_checks:: Estimation can''t take place because too many shocks have been calibrated with a zero variance!'])
 end