diff --git a/node_import.inc b/node_import.inc
index 0b86334..e17eacf 100644
--- a/node_import.inc
+++ b/node_import.inc
@@ -602,9 +602,9 @@ function node_import_values($type, $data, $map, $defaults, $options, $fields, $p
           $fieldvalues[] = $value;
         }
 
-        if (!$fieldinfo['allow_empty']) {
-          $fieldvalues = array_filter($fieldvalues, 'drupal_strlen');
-        }
+//        if (!$fieldinfo['allow_empty']) {
+//          $fieldvalues = array_filter($fieldvalues, 'drupal_strlen');
+//        }
 
         if ($fieldinfo['has_hierarchy'] && strlen($hseparator) > 0) {
           foreach ($fieldvalues as $i => $value) {
@@ -674,9 +674,10 @@ function node_import_values($type, $data, $map, $defaults, $options, $fields, $p
     }
 
     // If empty values are not allowed, filter them out.
-    if (!$fieldinfo['allow_empty']) {
-      $values[$fieldname] = array_values( array_filter((array)$values[$fieldname], 'drupal_strlen') );
-    }
+//    if (!$fieldinfo['allow_empty']) {
+      ////////array_values( )
+//      $values[$fieldname] = array_filter((array)$values[$fieldname], 'drupal_strlen');
+//    }
 
     // Handle files specially. The preprocess function only returns
     // the path - we need to make sure we save the file now into the
diff --git a/supported/cck/content.inc b/supported/cck/content.inc
index 2312ef4..17b0345 100644
--- a/supported/cck/content.inc
+++ b/supported/cck/content.inc
@@ -84,29 +84,34 @@ function content_node_import_values_alter(&$values, $type, $defaults, $options,
         $values[$fieldinfo['cck:fieldname']] = array();
 
         $num_values = 0;
+        $value_keys = array();
         foreach ($fieldinfo['cck:fieldinfo']['columns'] as $colname => $colinfo) {
           $cck_fieldname = node_import_cck_name($fieldinfo['cck:fieldname'], $colname);
           if (isset($values[$cck_fieldname])) {
             if (!is_array($values[$cck_fieldname])) {
               $values[$cck_fieldname] = array(0 => $values[$cck_fieldname]);
+              $value_keys[] = 0;
             }
-            $num_values = max(count($values[$cck_fieldname]), $num_values);
+            else {
+              $value_keys = array_keys($values[$cck_fieldname]);
+            }
+            $num_values = max(array( count($values[$cck_fieldname]), $num_values ));
           }
         }
 
         $i = 0;
-        while ($i < $num_values) {
+        while ( $i < $num_values ) {
           $value = array();
           foreach ($fieldinfo['cck:fieldinfo']['columns'] as $colname => $colinfo) {
             $cck_fieldname = node_import_cck_name($fieldinfo['cck:fieldname'], $colname);
-            if (isset($values[$cck_fieldname]) && array_key_exists($i, $values[$cck_fieldname])) {
-              $value[$colname] = $values[$cck_fieldname][$i];
+            if (isset($values[$cck_fieldname]) && array_key_exists($value_keys[$i], $values[$cck_fieldname])) {
+              $value[$colname] = $values[$cck_fieldname][$value_keys[$i]];
             }
             else {
               $value[$colname] = isset($defaults[$cck_fieldname]) ? $defaults[$cck_fieldname] : NULL;
             }
           }
-          $values[$fieldinfo['cck:fieldname']][$i] = $value;
+          $values[$fieldinfo['cck:fieldname']][$value_keys[$i]] = $value;
           $i++;
         }
 /*
