diff --git pimport.module pimport.module
index c282dff..1a5c59d 100755
--- pimport.module
+++ pimport.module
@@ -225,6 +225,8 @@ function pimport_import_csv_batch_process($user, $type, $pid, $file, $encoding,
       $line_count++;
     }
 
+    $file_contents = _pimport_normalize_line_endings($file_contents);
+
     // If the CSV is from Excel convert to UTF-8 and save to a temporary file.
     if ($encoding == 'Windows-1252') {
       $file_contents = function_exists('iconv') ? iconv('Windows-1252', 'UTF-8//TRANSLIT', $file_contents) : mb_convert_encoding($file_contents, 'UTF-8');
@@ -1335,5 +1337,20 @@ function _pimport_user_reference_process($op, $settings, $cell, $import_user) {
 } // _pimport_user_reference_process
 
 /**
+ * Normalizes line endings of a string.
+ * See:
+ *   http://darklaunch.com/2009/05/06/php-normalize-newlines-line-endings-crlf-cr-lf-unix-windows-mac
+ *   http://www.codinghorror.com/blog/2010/01/the-great-newline-schism.html
+ */
+function _pimport_normalize_line_endings($string) {
+  // Normalize line endings
+  // Convert all line-endings to UNIX format
+  $string = str_replace(array("\r\n", "\r"), "\n", $string);
+  // Don't allow out-of-control blank lines
+  $string = preg_replace("/\n{2,}/", "\n\n", $string);
+  return $string;
+} // _pimport_normalize_line_endings
+
+/**
  * @} End of "defgroup pimport_core".
  */
