diff --git a/src/TNL/Matrices/ChunkedEllpack_impl.h b/src/TNL/Matrices/ChunkedEllpack_impl.h
index 751fa1c21fb4a14956520dc57386c2d73dc72306..e5844618b6129373b19b51c21d6c2ad7bee961b3 100644
--- a/src/TNL/Matrices/ChunkedEllpack_impl.h
+++ b/src/TNL/Matrices/ChunkedEllpack_impl.h
@@ -198,7 +198,7 @@ bool ChunkedEllpack< Real, Device, Index >::setSlice( ConstCompressedRowLengthsV
 //       will be zero and make the assertion fail ( https://stackoverflow.com/questions/33273359/in-c-using-the-ceil-a-division-is-not-working ).
 //       To fix this, typecast them to ( float ), instead of ( RealType )
        maxChunkInSlice = max( maxChunkInSlice,
-                          ceil( roundUpDivision( rowLengths[ i ], this->rowToChunkMapping[ i ] ) );
+                          roundUpDivision( rowLengths[ i ], this->rowToChunkMapping[ i ] );
    }
       TNL_ASSERT( maxChunkInSlice > 0,
               std::cerr << " maxChunkInSlice = " << maxChunkInSlice << std::endl );