diff -r 0586200b7597 sites/all/modules/cck/content.module
--- a/sites/all/modules/cck/content.module Thu Mar 26 17:23:12 2009 -0400
+++ b/sites/all/modules/cck/content.module Thu Mar 26 17:23:31 2009 -0400
@@ -1062,7 +1062,12 @@
             $record['nid'] = $node->nid;
             $record['vid'] = $node->vid;
             $record['delta'] = $delta;
-            content_write_record($db_info['table'], $record);
+            if (db_result(db_query("SELECT COUNT(*) FROM {". $db_info['table'] ."} WHERE vid = %d", $node->vid))) {
+              content_write_record($db_info['table'], $record, array('vid'));
+            }
+            else {
+              content_write_record($db_info['table'], $record);
+            }
           }
         }
       }
