diff --git a/src/CountMinSketch.hpp b/src/CountMinSketch.hpp
index 6e43161da8e9ec41d880488b14ac019e58792331..908b3894d0b31d199ebafa8990244f12b97add5f 100644
--- a/src/CountMinSketch.hpp
+++ b/src/CountMinSketch.hpp
@@ -316,20 +316,26 @@ template<typename T> unsigned long CountMinSketch<T>::getNbDistinctKMers() {
     unsigned long n;
     unsigned long m=Pi_js[0];
 
+    //std::cout<<"lambda="<<lambda<<std::endl;
     for (j=lambda-1;j>=0;--j) {
         unsigned long z=0; // number of zeroes in a CMS array.
         for (h=Pi_js[j]-1;h>0;--h) { // Have to process the case of h=0 separately otherwise as h is now an unsigned int, it is always >=0 which causes an infinite loop.
             (cms_lambda_array[j] [h]==0)?  z+=1: z;
         }
-        (cms_lambda_array[j] [0]>0)?  z+=1: z;
+        (cms_lambda_array[j] [0]==0)?  z+=1: z;
         (z>max)? max=z: max;
         (max==z)? m=Pi_js[j]:m;
     }
-    unsigned long lnz=log(max);
-    unsigned long lnm=log(m);
-    unsigned long lnm1=log(n-1);
-    unsigned long deno=lnm1-lnm;
-    unsigned long nume=lnz-lnm;
+    //std::cout<<"max="<<max<<std::endl;
+    //std::cout<<"m="<<m<<std::endl;
+    double lnz=log(max);
+    double lnm=log(m);
+    double lnm1=log(m-1);
+    double deno=lnm1-lnm;
+    double nume=lnz-lnm;
+    /*std::cout<<"nume="<<nume<<std::endl;
+    std::cout<<"deno="<<deno<<std::endl;
+    std::cout<<"n before conversion"<<nume/deno<<std::endl;*/
     n=nume/deno;
     return n;
 }
diff --git a/src/unit_test_cms.cpp b/src/unit_test_cms.cpp
index 746ab2f4eec5ddae713284594a87831207b8fb53..cf3a0fa83e0cc26276753f1c4038c22ed34f763b 100644
--- a/src/unit_test_cms.cpp
+++ b/src/unit_test_cms.cpp
@@ -27,10 +27,11 @@ void test_CMS(int lambda,int kappa,int kappa_prime) {
     }
     // Now, check that our k-mer is present in the CMS.
     int min=cms.getEstimatedNbOcc(num);
-    std::cout<<"min="<<min<<endl;
+    //std::cout<<"min="<<min<<endl;
     assert((min==num) || (min==num-get_mask<unsigned char>::value-1)); // addKmer doesn't check kappa.
     
     unsigned long nb_distinct_k_mers=cms.getNbDistinctKMers();
+    //cout<<nb_distinct_k_mers<<endl;
     assert(nb_distinct_k_mers==1);
 
     // mimic a read (as given by part 2 output).
@@ -358,7 +359,7 @@ int main(int argc, char **argv) {
 
     cout<<"testing CMS with lambda="<<lambda<<endl;
     test_CMS(lambda,kappa,kappa_prime); // Finally using C arrays (maps implied storing hash keys : 4 Bytes per k_mer overhead) but each array is of size INT_MAX...
-    cout<<"testing CMS with PE not as single strict kappa prime implementation"<<endl;
+    //cout<<"testing CMS with PE not as single strict kappa prime implementation"<<endl;
     // VL comment these tests since AC says That the best option is to treat PE as single.
     /*testCMS_with_PE_NotasSingle(lambda,kappa,kappa_prime);
     cout<<"testing CMS with PE not as single lenient kappa prime implementation"<<endl;