diff --git a/modules/salesforce_pull/salesforce_pull.module b/modules/salesforce_pull/salesforce_pull.module
index 8742bfb..d7b7c92 100644
--- a/modules/salesforce_pull/salesforce_pull.module
+++ b/modules/salesforce_pull/salesforce_pull.module
@@ -403,9 +403,10 @@ function salesforce_pull_process_deleted_records() {
  *   sObject of the Salesforce record.
  */
 function salesforce_pull_map_fields($field_maps, &$entity_wrapper, $sf_object) {
+  $types = salesforce_mapping_get_fieldmap_types();
   foreach ($field_maps as $field_map) {
-    if ($field_map['direction'] == 'sync' || $field_map['direction'] == 'sf_drupal') {
-
+    if (isset($types[$field_map['drupal_field']['fieldmap_type']]['pull_value_callback']) &&
+      ($field_map['direction'] == 'sync' || $field_map['direction'] == 'sf_drupal')) {
       $drupal_fields_array = explode(':', $field_map['drupal_field']['fieldmap_value']);
       $parent = $entity_wrapper;
       foreach ($drupal_fields_array as $drupal_field) {
