Hello A.,
Could you use the new Teoz engine, as:
@startuml
!pragma teoz true
hide footbox
hide unlinked
i2c -> app ++ : I2C request completed
app -> i2c : getI2CStatus(&result)
alt result == OK
ref over app : I2CJobEndProcessing()
else
ref over app : SecondaryErrorHandling(CommunicationError)
end
@enduml

But there is a minor overlapping on the 'else dashed line' and the 'ref.'!
See also this example:
@startuml
!pragma teoz true
hide footbox
hide unlinked
i2c -> app ++ : I2C request completed
app -> i2c : getI2CStatus(&result)
alt result == OK
ref over app : I2CJobEndProcessing()
else
|||
ref over app : SecondaryErrorHandling(CommunicationError)
end
@enduml

@PlantUML team: is it normal?
If that can help,
Regards.