diff --git a/include/aidge/data/Tensor.hpp b/include/aidge/data/Tensor.hpp
index 96d877ebd1d2bedaf5efa91886e9e5b450583b57..b4c5de2ebe5c18e91da8fe4474ea74cf338b0fa6 100644
--- a/include/aidge/data/Tensor.hpp
+++ b/include/aidge/data/Tensor.hpp
@@ -665,10 +665,10 @@ public:
      * @return DimSize_t Storage index
      */
     std::size_t getStorageIdx(const std::vector<std::size_t>& coordIdx) const {
+        AIDGE_ASSERT(coordIdx.size() <= mDims.size(), "Coordinates does not match number of dimensions");
         for(std::size_t i = 0; i < coordIdx.size(); ++i) {
             AIDGE_ASSERT(coordIdx[i] < mDims[i], "Coordinates dimensions does not fit the dimensions of the tensor");
         }
-        AIDGE_ASSERT(coordIdx.size() <= mDims.size(), "Coordinates does not match number of dimensions");
         return std::inner_product(coordIdx.cbegin(), coordIdx.cend(), mStrides.cbegin(), DimSize_t(0));
     }