diff --git a/src/matrix/tnlMatrix.h b/src/matrix/tnlMatrix.h
index 65ad440c4a7d3a658d0e46b390af7c8878164a23..913ad7c2848daac0bb18277a07348efd8c1631f2 100644
--- a/src/matrix/tnlMatrix.h
+++ b/src/matrix/tnlMatrix.h
@@ -273,7 +273,8 @@ bool tnlMatrix< Real, Device, Index > :: load( const tnlString& fileName )
 }
 
 template< typename Real, typename Device, typename Index >
-tnlMatrix< Real, Device, Index >& tnlMatrix< Real, Device, Index > ::  operator = ( const tnlMatrix< Real, Device, Index >& matrix )
+   template< typename Real2 >
+tnlMatrix< Real, Device, Index >& tnlMatrix< Real, Device, Index > ::  operator = ( const tnlMatrix< Real2, Device, Index >& matrix )
 {
    this -> size = matrix. getSize();
    /*if( ! rowsReorderingPermutation. setSize( matrix. rowsReorderingPermutation. getSize() ) )