diff --git a/include/aidge/backend/cuda/data/TensorImpl.hpp b/include/aidge/backend/cuda/data/TensorImpl.hpp
index 7f2ee4067ca65e93c1dad13d85d2a655f61d7770..80fc8d64700f0991cb73e3dc051ecf0f156ece82 100644
--- a/include/aidge/backend/cuda/data/TensorImpl.hpp
+++ b/include/aidge/backend/cuda/data/TensorImpl.hpp
@@ -128,7 +128,7 @@ class TensorImpl_cuda : public TensorImpl, public TensorImpl_cuda_  {
         CHECK_CUDA_STATUS(cudaMemcpy(rawPtr(), src, length * sizeof(T), cudaMemcpyHostToDevice));
     }
 
-    void copyToHost(void *dst, NbElts_t length) override {
+    void copyToHost(void *dst, NbElts_t length) const override {
         CHECK_CUDA_STATUS(cudaMemcpy(dst, rawPtr(), length * sizeof(T), cudaMemcpyDeviceToHost));
     }
 
@@ -137,8 +137,9 @@ class TensorImpl_cuda : public TensorImpl, public TensorImpl_cuda_  {
         return mData;
     };
 
-    void *hostPtr() override {
-        return nullptr;
+    const void *rawPtr() const override {
+        AIDGE_ASSERT(mData != nullptr, "accessing uninitialized const rawPtr");
+        return mData;
     };
 
     void* getRaw(std::size_t idx) {