diff --git a/Code/Learning/otbKMeansImageClassificationFilter.txx b/Code/Learning/otbKMeansImageClassificationFilter.txx
index 94afd618cbcb068151d07a49dfe60468fdc8a3a4..8ce9d8a22fabd789236c39b541dcd1c0db0172ca 100644
--- a/Code/Learning/otbKMeansImageClassificationFilter.txx
+++ b/Code/Learning/otbKMeansImageClassificationFilter.txx
@@ -147,7 +147,6 @@ KMeansImageClassificationFilter<TInputImage,TOutputImage,VMaxSampleDimension,TMa
 		   current_distance = tmp_dist;
 		 }
 	     }
-	   std::cout<<"Pixel: "<<pixel<<" label: "<<current_label<<" centroid: "<<m_CentroidsMap[current_label]<<std::endl;
 	   outIt.Set(current_label);
 	 }
        ++outIt;
diff --git a/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx b/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx
index ccd67077092e7a15be63d1989d9a93a3f62225e5..862030cf4122bca4a905895ea1602dfae172073c 100644
--- a/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx
+++ b/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx
@@ -46,15 +46,19 @@ int otbKMeansImageClassificationFilter(int argc, char * argv[])
   reader->SetFileName(infname);
   reader->GenerateOutputInformation();
 
-  unsigned int parameterSize = nbClasses * reader->GetOutput()->GetNumberOfComponentsPerPixel();
+  const unsigned int sampleSize = ClassificationFilterType::MaxSampleDimension;
+  const unsigned int parameterSize = nbClasses * sampleSize;
    KMeansParametersType parameters;
 
    parameters.SetSize(parameterSize);
    parameters.Fill(0);
 
-   for(unsigned int i = 0; i < parameterSize;++i)
+   for(unsigned int i = 0; i<nbClasses;++i)
      {
-       parameters[i]=atof(argv[4+i]);
+       for(unsigned int j = 0; j < reader->GetOutput()->GetNumberOfComponentsPerPixel();++j)
+	 {
+	   parameters[i*sampleSize+j]=atof(argv[4+i*reader->GetOutput()->GetNumberOfComponentsPerPixel()+j]);
+	 }
      }
      
    std::cout<<"Parameters: "<<parameters<<std::endl;