Seems like we need to check the return code to keep the same semantics as before.