diff --git a/calc_grad_perc_dev.cc b/calc_grad_perc_dev.cc
index f0d00ef711debdd1efc62f1b3cd97fca29eab833..92f80eb9bf276c3f884e71ef03949b9519b06a84 100644
--- a/calc_grad_perc_dev.cc
+++ b/calc_grad_perc_dev.cc
@@ -57,11 +57,17 @@ int do_work(int argc, char* argv[])
   volume4D<float> fw, xpd, ypd, zpd;
   read_volume4D(fw,fullwarp.value());
   gradient(fw[0],xpd);
-  xpd/=fw.xdim();
+  xpd[0]/=fw.xdim();
+  xpd[1]/=fw.ydim();
+  xpd[2]/=fw.zdim();
   gradient(fw[1],ypd);
-  ypd/=fw.ydim();
+  ypd[0]/=fw.xdim();
+  ypd[1]/=fw.ydim();
+  ypd[2]/=fw.zdim();
   gradient(fw[2],zpd);
-  zpd/=fw.zdim();
+  zpd[0]/=fw.xdim();
+  zpd[1]/=fw.ydim();
+  zpd[2]/=fw.zdim();
   string bname=fslbasename(outname.value());
   save_volume4D(xpd,bname+"_x");
   save_volume4D(ypd,bname+"_y");