--- a/net/minecraft/server/EntityChicken.java
+++ b/net/minecraft/server/EntityChicken.java
@@ -42,6 +42,11 @@
     }
 
     public void movementTick() {
+        // CraftBukkit start
+        if (this.isChickenJockey()) {
+            this.persistent = !this.isTypeNotPersistent();
+        }
+        // CraftBukkit end
         super.movementTick();
         this.bG = this.bC;
         this.bE = this.bD;
@@ -59,7 +64,9 @@
         this.bC += this.bH * 2.0F;
         if (!this.world.isClientSide && !this.isBaby() && !this.isChickenJockey() && --this.bI <= 0) {
             this.a(SoundEffects.ENTITY_CHICKEN_EGG, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F);
+            this.forceDrops = true; // CraftBukkit
             this.a((IMaterial) Items.EGG);
+            this.forceDrops = false; // CraftBukkit
             this.bI = this.random.nextInt(6000) + 6000;
         }