diff --git a/matlab/nonlinear-filters/nonlinear_kalman_filter.m b/matlab/nonlinear-filters/nonlinear_kalman_filter.m
index 551345c1acd2aade60c6658b08b5143994a9ba58..f103ceff2c28f43c91fc207e492de9e57469ceb4 100644
--- a/matlab/nonlinear-filters/nonlinear_kalman_filter.m
+++ b/matlab/nonlinear-filters/nonlinear_kalman_filter.m
@@ -181,14 +181,13 @@ for t=1:sample_size
             lik(t)=-Inf;
             return
         end
-        [~, p]= chol(PredictedObservedVariance,'lower');
+        [PredictedObservedVarianceSquareRoot, p]= chol(PredictedObservedVariance,'lower');
         if p
             LIK=-Inf;
             lik(t)=-Inf;
             return
         end
     end
-    PredictedObservedVarianceSquareRoot = chol(PredictedObservedVariance);
     PredictedObservedInverseVarianceSquareRoot = PredictedObservedVarianceSquareRoot\eye(n); % Inverse of the Cholesky -> inv(PredictedObservedVariance) = A*A'
     StandardPredictionError = PredictedObservedInverseVarianceSquareRoot'*PredictionError;
     lik(t) = -.5*n*log(2*pi) + sum(log(diag(PredictedObservedInverseVarianceSquareRoot))) - .5*dot(StandardPredictionError, StandardPredictionError);