diff --git a/fslmerge.cc b/fslmerge.cc
index 50f95a6d9f78201b4134a6242b403c0b90fd535c..d5c3df840cee605f1a4ced8ec0d947dd143e99c2 100755
--- a/fslmerge.cc
+++ b/fslmerge.cc
@@ -44,7 +44,7 @@ int fmrib_main(int argc, char *argv[])
     return(1);
   }
 
-  int xdimtot(header.dim[0]), ydimtot(header.dim[1]), zdimtot(header.dim[2]), tdimtot(header.dim[3]);
+  int xdimtot(header.dim[1]), ydimtot(header.dim[2]), zdimtot(header.dim[3]), tdimtot(header.dim[4]);
 
   if(direction==4)
   {
@@ -55,10 +55,10 @@ int fmrib_main(int argc, char *argv[])
   for(int vol = 4; vol < argc; vol++)
   {       
     header=reader.loadHeader(string(argv[vol]));
-    if (direction==0) tdimtot+=header.dim[3];
-    if (direction==1) xdimtot+=header.dim[0]; 
-    if (direction==2) ydimtot+=header.dim[1];
-    if (direction==3) zdimtot+=header.dim[2];
+    if (direction==0) tdimtot+=header.dim[4];
+    if (direction==1) xdimtot+=header.dim[1]; 
+    if (direction==2) ydimtot+=header.dim[2];
+    if (direction==3) zdimtot+=header.dim[3];
   }
   volume4D<T> output_volume(xdimtot,ydimtot,zdimtot,tdimtot);
   read_volume4D(input_volume,string(argv[3]));