diff --git a/Modules/Filtering/Polarimetry/include/otbSinclairToReciprocalCovarianceMatrixFunctor.h b/Modules/Filtering/Polarimetry/include/otbSinclairToReciprocalCovarianceMatrixFunctor.h
index 98c7bba8edc51233f4a44b05522198f19515ff10..07a616c792bd5538da82cc2330b05335acdbdb55 100644
--- a/Modules/Filtering/Polarimetry/include/otbSinclairToReciprocalCovarianceMatrixFunctor.h
+++ b/Modules/Filtering/Polarimetry/include/otbSinclairToReciprocalCovarianceMatrixFunctor.h
@@ -72,11 +72,18 @@ public:
     const ComplexType S_hv = static_cast<ComplexType>(Shv);
     const ComplexType S_vv = static_cast<ComplexType>(Svv);
 
-    result[0] = static_cast<OutputValueType>( std::norm( S_hh ) );
+    /*result[0] = static_cast<OutputValueType>( std::norm( S_hh ) );
     result[1] = static_cast<OutputValueType>( S_hh*vcl_conj(S_hv) );
     result[2] = static_cast<OutputValueType>( S_hh*vcl_conj(S_vv) );
     result[3] = static_cast<OutputValueType>( std::norm( S_hv ) );
     result[4] = static_cast<OutputValueType>( S_hv*vcl_conj(S_vv) );
+    result[5] = static_cast<OutputValueType>( std::norm( S_vv ) );*/
+    
+    result[0] = static_cast<OutputValueType>( std::norm( S_hh ) );
+    result[1] = static_cast<OutputValueType>( vcl_sqrt(2.0)*S_hh*vcl_conj(S_hv) );
+    result[2] = static_cast<OutputValueType>( S_hh*vcl_conj(S_vv) );
+    result[3] = static_cast<OutputValueType>( 2.0*std::norm( S_hv ) );
+    result[4] = static_cast<OutputValueType>( vcl_sqrt(2.0)*S_hv*vcl_conj(S_vv) );
     result[5] = static_cast<OutputValueType>( std::norm( S_vv ) );
 
     return (result);