  #include <sys/socket.h>
  #include <pthread.h>
  #include <iostream>
-@@ -126,7 +127,7 @@
+@@ -126,7 +127,7 @@ namespace HadoopPipes {
      static const char lineSeparator = '\n';
  
      void writeBuffer(const string& buffer) {

     writePasswordToLocalFile(localPasswordFile, password, conf);
     env.put("hadoop.pipes.shared.secret.location", localPasswordFile);
  
@@ -120,7 +128,6 @@
     }
     cmd.add(executable);
     // wrap the command in a stdout/stderr capture

     }
 
   public:
@@ -802,14 +803,20 @@ namespace HadoopPipes {
       if (numReduces != 0) { 
         reducer = factory->createCombiner(*this);
         partitioner = factory->createPartitioner(*this);
-      }
-      if (reducer != NULL) {
-        int64_t spillSize = 100;
-        if (jobConf->hasKey("io.sort.mb")) {
-          spillSize = jobConf->getInt("io.sort.mb");
-        }
-        writer = new CombineRunner(spillSize * 1024 * 1024, this, reducer, 
-                                   uplink, partitioner, numReduces);
+	if (reducer != NULL) {
+	  int64_t spillSize = 100;
+	  if (jobConf->hasKey("io.sort.mb")) {
