This situation turns out to be an error in the Assembler. The Assembler is only counting the latency of the CALL instruction (4 cycles), instead of the total latency consumed by the call (return and latency of callee function). Therefore, there should be no error statement and the code is safe.
If the code is still generating an object file, you can use it safely. If no object file is being generated, the only current workaround is to insert a NOP in the assembly or to restructure the source to generate a different instruction sequence.