diff --git a/projects/clr/rocclr/platform/commandqueue.cpp b/projects/clr/rocclr/platform/commandqueue.cpp index 58183aed04..c142a21123 100644 --- a/projects/clr/rocclr/platform/commandqueue.cpp +++ b/projects/clr/rocclr/platform/commandqueue.cpp @@ -136,7 +136,8 @@ void HostQueue::finish() { if (IS_HIP) { ScopedLock sl(vdev()->execution()); ScopedLock l(lastCmdLock_); - if (lastEnqueueCommand_ != nullptr) { + // Runtime can clear the last command only if no other submissions occured during finish() + if (command == lastEnqueueCommand_) { lastEnqueueCommand_->release(); lastEnqueueCommand_ = nullptr; }