Index: content_profile.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_import/supported/content_profile.inc,v
retrieving revision 1.1
diff -u -p -r1.1 content_profile.inc
--- content_profile.inc	24 Oct 2009 21:10:47 -0000	1.1
+++ content_profile.inc	21 Jul 2010 16:40:05 -0000
@@ -112,20 +112,34 @@ if (module_exists('node_import') && modu
       $field_key = !empty($field_data[2]) ? $field_data[2] : 'value';
       $field_value = array(0 => array($field_key => $column_data[0]));
 
-      if (!$updated) {
-        $node->{$field_name} = $field_value;
-      }
-      elseif ($updated && $update_setting == UPDATE_ADD) {
+      if (!strcmp($field_data[0],'location_cck')) {
+        // location_cck behaves slightly differently -- there are several fields all under the same group,
+        // so even when we are not UPDATE_ADDing we need to append each field to the group
+        if ( (!$updated) || ($updated && $update_setting == UPDATE_REPLACE) ) {
+          $node->{$field_name}[0][$field_key] = $column_data[0];
+        } else {
+          $current_content = content_format($field_name, $node->{$field_name}[0], 'default', $node);
+
+          if (empty($current_content) && !empty($column_data[0])) { 
+            $node->{$field_name}[0][$field_key] = $column_data[0];
+          }          
+        }
+      } else {
+        if (!$updated) {
+          $node->{$field_name} = $field_value;
+        }
+        elseif ($updated && $update_setting == UPDATE_ADD) {
 
-        $current_content = content_format($field_name, $node->{$field_name}[0], 'default', $node);
+          $current_content = content_format($field_name, $node->{$field_name}[0], 'default', $node);
 
-        if (empty($current_content) && !empty($column_data[0])) { 
-					$node->{$field_name} = $field_value;
+          if (empty($current_content) && !empty($column_data[0])) { 
+            $node->{$field_name} = $field_value;
+          }
         }
+        elseif ($updated && $update_setting == UPDATE_REPLACE) {
+          $node->{$field_name} = $field_value; 
+        }  
       }
-      elseif ($updated && $update_setting == UPDATE_REPLACE) {
-        $node->{$field_name} = $field_value; 
-      }  
     }
     
 		// not actually checking for errors at the moment, but lete's leave this in for when we do
