diff --git a/fslmaths.cc b/fslmaths.cc
index d5b6a163ebb4aea0644d9625e076b42702f22277..52799f16646af8d4eb6d57d99474393efe897a8c 100755
--- a/fslmaths.cc
+++ b/fslmaths.cc
@@ -988,9 +988,8 @@ if (!separatenoise)
 
       for(int t=0;t<inputVolume.tsize();t++) {
 	try { 
-	  volume<T> im(inputVolume[t]);
+	  ShadowVolume<T> im(inputVolume[t]);
 	  tfce(im, height_power, size_power, connectivity, tfce_minT, tfce_delta);
-	  inputVolume[t]=im;
 	}
 	catch(Exception& e) { 
 	  cerr << "ERROR: TFCE failed, please check your file for valid sizes and voxel values." <<  e.what() << endl << endl << "Exiting" << endl; 
@@ -1012,9 +1011,8 @@ if (!separatenoise)
 	float tfce_thresh = atof(argv[++i]);
 	
 	for(int t=0;t<inputVolume.tsize();t++) {
-	  volume<T> im(inputVolume[t]);
+	  ShadowVolume<T> im(inputVolume[t]);
 	  tfce_support(im, height_power, size_power, connectivity, tfce_minT, tfce_delta, X, Y, Z, tfce_thresh);
-	  inputVolume[t]=im;
 	}
       }