Index: mappers/taxonomy.inc
===================================================================
--- mappers/taxonomy.inc	(revision 4194)
+++ mappers/taxonomy.inc	(working copy)
@@ -88,13 +88,11 @@
   }
 
   if ($vocabulary->tags) {
-    foreach ($terms as $k => $v) {
-      // Make sure there aren't any terms with a comma (=tag delimiter) in it.
-      $terms[$k] = preg_replace('/\s*,\s*/', ' ', $v);
-    }
-    // Simply add a comma separated list to the node for a "tags" vocabulary.
+    // Merge existing tags with new terms.
     $terms = array_merge($terms, drupal_explode_tags($node->taxonomy['tags'][$vocabulary->vid]));
-    $node->taxonomy['tags'][$vocabulary->vid] = implode(',', $terms);
+
+    // Use drupal_implode_tags() to add a comma separated list to the node for a "tags" vocabulary.
+    $node->taxonomy['tags'][$vocabulary->vid] = drupal_implode_tags($terms);
   }
   else {
     foreach ($terms as $term) {
