I presume you are talking about FX2LP. This is the expected behavior and flag behaves in this way itself.
Yes, it's CY7C68013A. I also found that when EP2 was set to be size=512, buffering=2x, first I use console tool to read fifo until empty, then trigger to write 512 word into fifo, again to read fifo using console tool, I can read back 1024 word until console tool can't read. I guess this is not the expected behavior, but why? What's wrong?