diff --git a/fslcreatehd.cc b/fslcreatehd.cc
index 947e9911ecbf3f6c215dfc871c223e27e635125a..cc270f933740bbb3db9f2aaa94b27c0863fe09e5 100755
--- a/fslcreatehd.cc
+++ b/fslcreatehd.cc
@@ -110,7 +110,7 @@ int fslcreatehd_main(int argc, char *argv[])
   }
 
  /* if previously read buffer is wrong size then make a zero image here */
-  if ( header.nElements() != originalHeader.nElements() ) {
+  if ( !existingImage || header.nElements() != originalHeader.nElements() ) {
     if(buffer!=NULL)
       delete buffer;
     buffer = new char[header.nElements()*(header.bpvOfDatatype()/8)];
@@ -122,7 +122,6 @@ int fslcreatehd_main(int argc, char *argv[])
       filename=make_basename(filename)+outputExtension(filetype);
     }
 
-    //header.report();
     header.bitsPerVoxel=header.bpvOfDatatype();
     header.setNiftiVersion(FslNiftiVersionFileType(filetype),FslIsSingleFileType(filetype));
     reader.saveImage(filename,buffer,extensions,header, FslIsCompressedFileType(filetype));