diff --git a/src/TNL/Meshes/GridDetails/Grid1D.h b/src/TNL/Meshes/GridDetails/Grid1D.h
index 2a78a73df331e209d1242293ca626b26a4e8be5e..d2a96c4ad5bae4bf19374c90a60cfbd5d146b100 100644
--- a/src/TNL/Meshes/GridDetails/Grid1D.h
+++ b/src/TNL/Meshes/GridDetails/Grid1D.h
@@ -95,7 +95,7 @@ class Grid< 1, Real, Device, Index > : public Object
    inline const RealType& getCellMeasure() const;
  
    __cuda_callable__
-   inline VertexType getSpaceSteps() const;
+   inline const VertexType& getSpaceSteps() const;
 
    template< int xPow >
    __cuda_callable__
diff --git a/src/TNL/Meshes/GridDetails/Grid1D_impl.h b/src/TNL/Meshes/GridDetails/Grid1D_impl.h
index 8103d5b20b6fe5d54ab183f09da1bd4427e155ab..3c5f81f71169e975c9c3c7db404ffd3300431acf 100644
--- a/src/TNL/Meshes/GridDetails/Grid1D_impl.h
+++ b/src/TNL/Meshes/GridDetails/Grid1D_impl.h
@@ -225,7 +225,7 @@ template< typename Real,
           typename Device,
           typename Index >
 __cuda_callable__ inline
-typename Grid< 1, Real, Device, Index >::VertexType
+const typename Grid< 1, Real, Device, Index >::VertexType&
 Grid< 1, Real, Device, Index >::
 getSpaceSteps() const
 {
diff --git a/src/TNL/Meshes/GridDetails/Grid2D.h b/src/TNL/Meshes/GridDetails/Grid2D.h
index b4d69458f96a73ec9b77fad35b978254ac3a1ce5..6c7dfca7f61089f61c8ec2d9e5d4be995f3c9906 100644
--- a/src/TNL/Meshes/GridDetails/Grid2D.h
+++ b/src/TNL/Meshes/GridDetails/Grid2D.h
@@ -99,7 +99,7 @@ class Grid< 2, Real, Device, Index > : public Object
    inline const RealType& getCellMeasure() const;
  
    __cuda_callable__
-   inline VertexType getSpaceSteps() const;
+   inline const VertexType& getSpaceSteps() const;
 
    template< int xPow, int yPow >
    __cuda_callable__
diff --git a/src/TNL/Meshes/GridDetails/Grid2D_impl.h b/src/TNL/Meshes/GridDetails/Grid2D_impl.h
index b888298ae2696305f9978d3f6d100b2178ed89f2..644a6986c1072304c6766e3cf74d0615b01c2935 100644
--- a/src/TNL/Meshes/GridDetails/Grid2D_impl.h
+++ b/src/TNL/Meshes/GridDetails/Grid2D_impl.h
@@ -278,7 +278,7 @@ template< typename Real,
           typename Device,
           typename Index >
 __cuda_callable__ inline
-typename Grid< 2, Real, Device, Index >::VertexType
+const typename Grid< 2, Real, Device, Index >::VertexType&
 Grid< 2, Real, Device, Index >::
 getSpaceSteps() const
 {
diff --git a/src/TNL/Meshes/GridDetails/Grid3D.h b/src/TNL/Meshes/GridDetails/Grid3D.h
index 84e326996a95481f140e583e1295fa06997d899b..860b5e473528cf0de601648a77bb0bd6f0aba490 100644
--- a/src/TNL/Meshes/GridDetails/Grid3D.h
+++ b/src/TNL/Meshes/GridDetails/Grid3D.h
@@ -92,7 +92,7 @@ class Grid< 3, Real, Device, Index > : public Object
    inline const RealType& getCellMeasure() const;
 
    __cuda_callable__
-   inline VertexType getSpaceSteps() const;
+   inline const VertexType& getSpaceSteps() const;
  
    template< int xPow, int yPow, int zPow >
    __cuda_callable__
diff --git a/src/TNL/Meshes/GridDetails/Grid3D_impl.h b/src/TNL/Meshes/GridDetails/Grid3D_impl.h
index bf4cd4b891b8932eb2abe7935f4da699049a3bf9..e7c1cdd78ce772b1b8d4b55ac26870903afc68c4 100644
--- a/src/TNL/Meshes/GridDetails/Grid3D_impl.h
+++ b/src/TNL/Meshes/GridDetails/Grid3D_impl.h
@@ -325,7 +325,7 @@ template< typename Real,
           typename Device,
           typename Index >
 __cuda_callable__ inline
-typename Grid< 3, Real, Device, Index >::VertexType
+const typename Grid< 3, Real, Device, Index >::VertexType&
 Grid< 3, Real, Device, Index >::
 getSpaceSteps() const
 {