A method of operating a high availability industrial automation controller, the method comprising: receiving information about a lost redundancy in a high availability industrial automation system; changing one or more first redundancy state status bits associated with a first task from an initial value to a modified value upon receiving the information; changing one or more second redundancy state status bits associated with a second task from an initial value to a modified value upon receiving the information; upon identifying that the one or more first redundancy state status bits have changed, if the first task is an event task that is only executed based on the first redundancy state status bits being changed, performing the first task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the first task, the first task based on the first redundancy state status bits being changed, and performing the modified first task; and resetting the one or more first redundancy state status bits to their original value upon completion of the first task or the modified first task; and upon identifying that the one or more second redundancy state status bits have changed, if the second task is an event task that is only executed based on the first redundancy state status bits being changed, performing the second task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the second task, the second task based on the first redundancy state status bits being changed, and performing the modified second task; and resetting the one or more second redundancy state status bits to their original value upon completion of the second task or the modified second task. receiving information about a lost redundancy in a high availability industrial automation system; changing one or more first redundancy state status bits associated with a first task from an initial value to a modified value upon receiving the information; changing one or more second redundancy state status bits associated with a second task from an initial value to a modified value upon receiving the information; upon identifying that the one or more first redundancy state status bits have changed, if the first task is an event task that is only executed based on the first redundancy state status bits being changed, performing the first task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the first task, the first task based on the first redundancy state status bits being changed, and performing the modified first task; and resetting the one or more first redundancy state status bits to their original value upon completion of the first task or the modified first task; and if the first task is an event task that is only executed based on the first redundancy state status bits being changed, performing the first task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the first task, the first task based on the first redundancy state status bits being changed, and performing the modified first task; and resetting the one or more first redundancy state status bits to their original value upon completion of the first task or the modified first task; and upon identifying that the one or more second redundancy state status bits have changed, if the second task is an event task that is only executed based on the first redundancy state status bits being changed, performing the second task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the second task, the second task based on the first redundancy state status bits being changed, and performing the modified second task; and resetting the one or more second redundancy state status bits to their original value upon completion of the second task or the modified second task. if the second task is an event task that is only executed based on the first redundancy state status bits being changed, performing the second task; if the first task is a periodic task or a continuous task or an event task occurring in response to a sensed input, modifying, at the next execution of the second task, the second task based on the first redundancy state status bits being changed, and performing the modified second task; and resetting the one or more second redundancy state status bits to their original value upon completion of the second task or the modified second task.