diff --git a/title.module b/title.module
index 05f7dfa..2c85f90 100644
--- a/title.module
+++ b/title.module
@@ -158,6 +158,16 @@ function title_entity_presave($entity, $entity_type) {
     if (!isset($translations->data[$langcode])) {
       $langcode = isset($translations->hook[$langcode]['hook']) && $translations->hook[$langcode]['hook'] == 'delete' ? FALSE : $entity_langcode;
     }
+    // If a translation is being added, ensure this is used as the active
+    // langcode.
+    if (isset($translations->hook)) {
+      foreach ($translations->hook as $key => $hook) {
+        if ($hook['hook'] == 'insert') {
+          $langcode = $key;
+          continue;
+        }
+      }
+    }
   }
 
   // Perform reverse synchronization to retain any change in the legacy field
@@ -278,9 +288,7 @@ function title_entity_prepare_view($entities, $type, $langcode) {
  */
 function title_field_replacement_enabled($entity_type, $bundle, $legacy_field) {
   $info = title_field_replacement_info($entity_type, $legacy_field);
-  if (!empty($info['field']['field_name'])) {
-    $instance = field_info_instance($entity_type, $info['field']['field_name'], $bundle);
-  }
+  $instance = field_info_instance($entity_type, $info['field']['field_name'], $bundle);
   return !empty($instance);
 }
 
