diff --git a/src/conditional_filter_proposal.m b/src/conditional_filter_proposal.m
index 3a019c6a47a14475c4fc345a93aa4a9484b3aeae..e90efa1895a94f012f1f26ae9961b5aacf2ca9d2 100644
--- a/src/conditional_filter_proposal.m
+++ b/src/conditional_filter_proposal.m
@@ -118,17 +118,17 @@ else
     Error = obs - PredictedObservedMean ;
     StateVectorMean = PredictedStateMean + KalmanFilterGain*Error ;
     StateVectorVariance = PredictedStateVariance - KalmanFilterGain*PredictedObservedVariance*KalmanFilterGain';
-    StateVectorVarianceSquareRoot = chol(StateVectorVariance + 1e-6)' ;
+    StateVectorVarianceSquareRoot = chol(StateVectorVariance + eye(number_of_state_variables)*1e-6)' ;
     if ParticleOptions.cpf_weights_method.amisanotristani
         Weights = SampleWeights.*probability2(zeros(number_of_observed_variables,1),chol(PredictedObservedVariance)',Error) ; 
     end
 end
 
-PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + 1e-6)'  ;
+PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + eye(number_of_state_variables)*1e-6)'  ;
 ProposalStateVector = StateVectorVarianceSquareRoot*randn(size(StateVectorVarianceSquareRoot,2),1)+StateVectorMean ;
 if ParticleOptions.cpf_weights_method.murrayjonesparslow
     Prior = probability2(PredictedStateMean,PredictedStateVarianceSquareRoot,ProposalStateVector) ; 
     Posterior = probability2(StateVectorMean,StateVectorVarianceSquareRoot,ProposalStateVector) ; 
     Likelihood = probability2(obs,H_lower_triangular_cholesky,measurement_equations(ProposalStateVector,ReducedForm,ThreadsOptions)) ; 
     Weights = SampleWeights.*Likelihood.*(Prior./Posterior) ;
-end
\ No newline at end of file
+end