When one of the signals was built, it was cycling colours the way it does when there's an open loop in the network and it can't divide the line - except that there are closed blocks on either end.
I added more signals on either side, and they work as expected, with the block between them crossing the broken signal.
Removing and replacing the broken signal (manually and with robots) worked fine, and I haven't been able to reproduce it.
I was able to confirm that the bug survived a save/load, so I've attached the broken save here.
![Image](https://forums.factorio.com/images/ext/c967e95e3f8143208f0541b389426cc3.jpg)