You may have to stop the PLC to make the change.
The way the CPU331 handles program changes while running is to first download the changed program block to available memory while still running the original block. Once the download is complete, the pointer to the start of the program block is changed from the original block to the new block.
If you do a lot of changes while running, eventually the memory gets fragmented and you reach a point where there is no longer a single block of memory big enough to hold your modified program block.
When you do a download to the PLC while stopped, the CPU defragments the memory which will allow you to once again make changes while running.