diff --git a/src/TNL/Matrices/StaticMatrix.h b/src/TNL/Matrices/StaticMatrix.h
index 9fb0b19acdd8619be7188aa0793db05e6c6e4c6e..0a8cf31edde2d0e81f30a3e641be94296e3fdccd 100644
--- a/src/TNL/Matrices/StaticMatrix.h
+++ b/src/TNL/Matrices/StaticMatrix.h
@@ -24,11 +24,13 @@ template< typename Value,
           typename Permutation = std::index_sequence< 0, 1 > >  // identity by default
 class StaticMatrix
 : public Containers::StaticNDArray< Value,
-                                    Containers::SizesHolder< std::size_t, Rows, Columns >,
+                                    // note that using std::size_t in SizesHolder does not make sense, since the
+                                    // StaticNDArray is based on StaticArray, which uses int as IndexType
+                                    Containers::SizesHolder< int, Rows, Columns >,
                                     Permutation >
 {
    using Base = Containers::StaticNDArray< Value,
-                                           Containers::SizesHolder< std::size_t, Rows, Columns >,
+                                           Containers::SizesHolder< int, Rows, Columns >,
                                            Permutation >;
 
 public: