diff --git a/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.txx b/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.txx
index 32172e5b4ad969ae2859b0f251dff1a7db17942d..2a2a030b36e0fe027a133f51fb461646cbf4c93b 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.txx
+++ b/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.txx
@@ -193,13 +193,13 @@ MDMDNMFImageFilter<TInputImage, TOutputImage>
   //    = (A*S-X) * (transpose(S)) + m_LambdD*(A-1/nbBands*ones(L, L)*A)
   //    = (A*S-X) * (transpose(S)) + m_LambdD*A- m_LambdD*/nbBands*ones(L, L)*A)
 
-  MatrixType onesA;
   VectorType sumColulmnsOfA;
   sumColulmnsOfA.set_size(A.cols());
   unsigned int nbBands = A.rows();
 
-  // Computing vector onesA
-  for (unsigned int j=0; j<onesA.size(); ++j)
+  // Computing ones*A : all rows are the same,
+  // (ones*A)[i,j] = sum(k=0 to nbBands, A[k,j])
+  for (unsigned int j=0; j<A.cols(); ++j)
     {
     sumColulmnsOfA(j) = A.get_column(j).sum();
     }