It happens to me when the connection is slow. I didn't check the javascript code, but tI guess the replacement story is requested and enqueued, but if you hide a second story before the first one arrives, the js gets confused and ask again for the same replacement and you get a duplicadet.