diff --git a/src/operator/Pop.cpp b/src/operator/Pop.cpp
index 2b7ab525786681b29c70d2ae436cd10465c34e01..a27e2745b8929e84456ac079d063d94ffa359679 100644
--- a/src/operator/Pop.cpp
+++ b/src/operator/Pop.cpp
@@ -24,6 +24,7 @@ Aidge::Elts_t Aidge::Pop_ProdConso::getNbRequiredData(const Aidge::IOIndex_t inp
     assert(mOp.getRawInput(inputIdx) && "requires valid input");
 
     const Pop_Op& op = dynamic_cast<const Pop_Op&>(mOp);
+    AIDGE_ASSERT(!op.getInput(inputIdx)->empty(), "Pop operator requires known, non-empty, input dims for scheduling. You might have an unresolved data dependency upstream in the computing graph.");
     return Elts_t::DataElts(op.getInput(inputIdx)->size()
         / op.getInput(inputIdx)->dims()[0]);
 }