diff --git a/src/operator/Identity.cpp b/src/operator/Identity.cpp
index f0b8720bc1e22d8d6308460eabe436db8a4c9f6d..d01d576782d43a45c3810ab9e0d6d4bd42030662 100644
--- a/src/operator/Identity.cpp
+++ b/src/operator/Identity.cpp
@@ -15,6 +15,9 @@
 
 void Aidge::Identity_OpImpl::forward() {
     const Identity_Op& op = dynamic_cast<const Identity_Op&>(mOp);
+    op.getOutput(0)->setBackend(op.getInput(0)->backend(), op.getInput(0)->device());
+    op.getOutput(0)->setDataType(op.getInput(0)->dataType());
+    op.getOutput(0)->setDataFormat(op.getInput(0)->dataFormat());
     op.getOutput(0)->getImpl()->copy(op.getInput(0)->getImpl()->rawPtr(), op.getInput(0)->size());
 }