Thanks Kris! Since we had the ksession set in the work item handler already, the exception did go away after I changed to ksession.getWorkItemManager().completeWorkitem(..). However, this completion event seems to have never taken effect? As we have .waitForCompletion(true) set for this work item node, but the flow was stuck in this node forever even though completeWorkitem was called. I checked that was the case via processinstancelog and nodeinstancelog.