diff --git a/src/tir/schedule/transform.cc b/src/tir/schedule/transform.cc
index 62662a4ce111..33ec87635224 100644
--- a/src/tir/schedule/transform.cc
+++ b/src/tir/schedule/transform.cc
@@ -318,10 +318,12 @@ Optional<LoopRV> TileWithTensorIntrin(const tir::Schedule& sch, const tir::Block
     auto producers = sch->GetProducers(block_rv);
     for (const auto& producer : producers) {
       auto original_producers = sch->GetProducers(producer);
-      ICHECK_EQ(original_producers.size(), 1u);
+      // NOTICE: there may not all producers padded.
       // Inline the original producer into the padding block. This ensures that the new producer
       // has the padded shape.
-      sch->ComputeInline(original_producers[0]);
+      if (original_producers.size() == 1u) {
+        sch->ComputeInline(original_producers[0]);
+      }
     }
     auto consumers = sch->GetConsumers(block_rv);
     for (const auto& consumer : consumers) {