 +                s1 = this.getProfessionForge().getCareer(this.field_175563_bv).getName();
 +            else
 +                s1 = "entity.Villager." + s1;
-+            //TODO: Hook into VillagerRegistry to get name
++
              if (s1 != null)
              {
 -                TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("entity.Villager." + s1, new Object[0]);

+    public void func_184206_a(DataParameter<?> key)
+    {
+        super.func_184206_a(key);
+        if(key == 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);
+        }
+    }
+
     public boolean func_70941_o()
     {
         return this.field_70952_f;
@@ -534,15 +580,13 @@
 
     private void func_175554_cu()
     {

     }
 
     public int func_70946_n()
@@ -335,6 +348,43 @@
         return Math.max(((Integer)this.field_70180_af.func_187225_a(field_184752_bw)).intValue() % 5, 0);
     }
 
