diff --git a/salesforce_api/salesforce_api.features.inc b/salesforce_api/salesforce_api.features.inc
index d235534520c0862d9c67861f48a47954dd6fcf2a..bc85cbb351cecad1f9a4d6272b40a40cde0b63d9 100644
--- a/salesforce_api/salesforce_api.features.inc
+++ b/salesforce_api/salesforce_api.features.inc
@@ -45,6 +45,33 @@ function salesforce_api_fieldmap_features_revert($module = 'salesforce_api') {
   ctools_component_features_revert($module);
 }
 
+/*
+ * Implements hook_features_rebuild().
+ */
+function salesforce_fieldmap_features_rebuild($module) {
+  $table = 'salesforce_fieldmap';
+  $defaults = features_get_default($table, $module);
+
+  if (empty($defaults)) {
+    return;
+  }
+
+  // Revert.
+  if (!empty($defaults)) {
+    foreach ($defaults as $object) {
+      if (empty($object->name) || empty($object->drupal_entity) || empty($object->salesforce)) {
+        continue;
+      }
+
+      // If it exists, just update the record.
+      $existing = salesforce_api_salesforce_fieldmap_load($object->name);
+      $primary_key = empty($existing->in_code_only) ? 'name' : array();
+      drupal_write_record('salesforce_fieldmap', $object, $primary_key);
+    }
+  }
+}
+
+
 /**
  * }
  */