diff --git a/src/main/java/org/elasticsearch/hadoop/cascading/ESHadoopScheme.java b/src/main/java/org/elasticsearch/hadoop/cascading/ESHadoopScheme.java
index <HASH>..<HASH> 100644
--- a/src/main/java/org/elasticsearch/hadoop/cascading/ESHadoopScheme.java
+++ b/src/main/java/org/elasticsearch/hadoop/cascading/ESHadoopScheme.java
@@ -17,6 +17,7 @@ package org.elasticsearch.hadoop.cascading;
 
 import java.io.IOException;
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.logging.LogFactory;
@@ -149,7 +150,10 @@ class ESHadoopScheme extends Scheme<JobConf, RecordReader, OutputCollector, Obje
             }
         }
         else {
-            Tuple.elements(entry.getTuple()).addAll(data.values());
+            // no definition means no coercion
+            List<Object> elements = Tuple.elements(entry.getTuple());
+            elements.clear();
+            elements.addAll(data.values());
         }
 
         return true;
fix bug causing the tuple to spill over when no fields are defined