That's intentional. So if one part of the code suffers a random mutation and spontaneously develops a bug, the redundant code can still ensure the proper functioning of the program while the bug gets fixed.
Just take care if you merge two branches that contain the same bug; you might end up with a program without functional redundant code. That's why you should never merge closely related branches.