diff --git a/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.hxx b/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.hxx
index ecbda929e78cf7828afe4c5d639f112e8b25618a..1c513a4b06a42383d66437f6989a2bb2868b46fc 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.hxx
+++ b/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.hxx
@@ -82,7 +82,8 @@ void FastICAImageFilter<TInputImage, TOutputImage, TDirectionOfTransformation>::
     unsigned int theOutputDimension = 0;
     if (m_GivenTransformationMatrix)
     {
-      theOutputDimension = m_TransformationMatrix.Rows() >= m_TransformationMatrix.Cols() ? m_TransformationMatrix.Rows() : m_TransformationMatrix.Cols();
+      const auto & pcaMatrix = m_PCAFilter->GetTransformationMatrix();
+      theOutputDimension = pcaMatrix.Rows() >= pcaMatrix.Cols() ? pcaMatrix.Rows() : pcaMatrix.Cols();
     }
     else
     {