                  textcomponenttranslation.func_150256_b().func_150209_a(this.func_174823_aP());
                  textcomponenttranslation.func_150256_b().func_179989_a(this.func_189512_bd());
  
-@@ -710,7 +757,7 @@
+@@ -710,7 +761,7 @@
      public IEntityLivingData func_180482_a(DifficultyInstance p_180482_1_, @Nullable IEntityLivingData p_180482_2_)
      {
          p_180482_2_ = super.func_180482_a(p_180482_1_, p_180482_2_);

             this.field_175562_bw = 1;
         }
 
@@ -553,13 +597,11 @@
 
         int i = this.field_175563_bv - 1;
         int j = this.field_175562_bw - 1;

+    public void func_184206_a(DataParameter<?> key)
+    {
+        super.func_184206_a(key);
+        if (key.equals(PROFESSION_STR))
+        {
+            String p = this.field_70180_af.func_187225_a(PROFESSION_STR);
+            net.minecraft.util.ResourceLocation res = new net.minecraft.util.ResourceLocation(p == null ? "minecraft:farmer" : p);
+            this.prof = net.minecraftforge.fml.common.registry.VillagerRegistry.instance().getRegistry().getValue(res);
+        }
+        else if (key.equals(field_184752_bw))
+        {
+            net.minecraftforge.fml.common.registry.VillagerRegistry.onSetProfession(this, this.field_70180_af.func_187225_a(field_184752_bw));
+        }
+    }
+
     public boolean func_70941_o()
     {
         return this.field_70952_f;
@@ -534,15 +584,13 @@
 
     private void func_175554_cu()
     {
