diff --git a/rocclr/platform/commandqueue.cpp b/rocclr/platform/commandqueue.cpp index 58183aed04..c142a21123 100644 --- a/rocclr/platform/commandqueue.cpp +++ b/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; }