Index: sf_node/sf_node.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/salesforce/sf_node/sf_node.module,v
retrieving revision 1.2.2.8
diff -u -p -r1.2.2.8 sf_node.module
--- sf_node/sf_node.module	25 Apr 2009 06:44:28 -0000	1.2.2.8
+++ sf_node/sf_node.module	11 May 2009 17:04:25 -0000
@@ -55,6 +55,10 @@ function sf_node_nodeapi(&$node, $op, $a
       $node->salesforce = salesforce_api_id_load('node', $node->nid);
       break;
     case 'insert':
+      // When importing *from* Salesforce, don't export *back* to Salesforce.
+      if(isset($node->sf_node_skip_export)) {
+        break;
+      }
       // Detect whether or not this should be an auto-update for this node
       $options = salesforce_api_fieldmap_options('node_'. $node->type, NULL, TRUE);
       if (empty($options)) {
@@ -69,6 +73,10 @@ function sf_node_nodeapi(&$node, $op, $a
       sf_node_export($node, $map);
       break;
     case 'update':
+      // When importing *from* Salesforce, don't export *back* to Salesforce.
+      if(isset($node->sf_node_skip_export)) {
+        break;
+      }
       $salesforce = salesforce_api_id_load('node', $node->nid);
       if ($salesforce['fieldmap'] && $salesforce['sfid']) {
         sf_node_export($node, $salesforce['fieldmap'], $salesforce['sfid']);
@@ -522,8 +530,9 @@ function sf_node_import($sfid, $fieldmap
         $node->$key = $data->$value;
       }
     }
-
+    $node->sf_node_skip_export = TRUE;
     node_save($node);
+    unset($node->sf_node_skip_export);
   }
 
   return $node->nid;
