diff --git a/matlab/identification_checks.m b/matlab/identification_checks.m
index 671c01322fde7788726f87f939c1c845dddd1b11..5a5b7bd95f6016c2950d331be437dde2cfc193ec 100644
--- a/matlab/identification_checks.m
+++ b/matlab/identification_checks.m
@@ -70,8 +70,8 @@ eH = zeros(npar,npar);
 eH(ind1,length(find(vnorm(H)<eps))+1:end) = e1; % non-zero eigenvectors
 eH(find(vnorm(H)<eps),1:length(find(vnorm(H)<eps)))=eye(length(find(vnorm(H)<eps)));
 condH = cond(H1);
-rankH = rank(H);
-rankHH = rank(H'*H);
+rankH = rank(HH./norm(HH),1.e-10);
+rankHH = rankH;
 
 ind2 = find(vnorm(JJ)>=eps); % take non-zero columns
 JJ1 = JJ(:,ind2);
@@ -80,8 +80,8 @@ eJ = zeros(npar,npar);
 eJ(ind2,length(find(vnorm(JJ)<eps))+1:end) = ee1; % non-zero eigenvectors
 eJ(find(vnorm(JJ)<eps),1:length(find(vnorm(JJ)<eps)))=eye(length(find(vnorm(JJ)<eps)));
 condJ = cond(JJ1);
-rankJJ = rank(JJ'*JJ);
-rankJ = rank(JJ);
+rankJ = rank(JJ./norm(JJ),1.e-10);
+rankJJ = rankJ;
 
 ind3 = find(vnorm(gp)>=eps); % take non-zero columns
 gp1 = gp(:,ind3);