Discrete version with fail safe