My friendly mobs are disappearing, what can cause this?

Recently I build a kind of a zoo in my single player MineCraft world. My goal was to display most (if not all) mobs in the game. Each mob is named using a name tag to prevent despawning and each mob is placed in their own cage (a well lit, 5x5x5 blocks room). After I filled the first few cages with friendly mobs and came back (relogged) some of the cages were empty. Specifically my cow, sheep and pig were missing. Having still plenty of name tags, I rounded up a new cow, sheep and pig, named them and put them in their cage. Some while later (a couple of days, so I logged on again) my cow cage was empty yet again.

I am very sure I've named the mobs that disappeared correctly (I don't know if you even can do it other then correctly). The cages have plenty of room and are well lit and since I've not found the missing mobs roaming around, I highly doubt they have escaped. Since hostile mobs don't attack friendly mobs, I also rule that out as a cause.

Does anyone have an idea on why these mobs disappear? And, if you do, how I can prevent it or fix it?

Note: The world was created in 1.7.1 and is now running in 1.8.10.


I had this almost exact same problem in my 1.13.2 world, and what worked for me was giving them all different name tags. I don't know why but when I named one sheep "Sheep1" and another "Sheep2" they didn't despawn. I don't know if this will help you as I am in a different version, but if worst comes to worst you can attach them to a fence using a lead. That also fixed my problem.