diff --git a/Makefile b/Makefile
index 14c1ffcdec646606d138678cb895024aa410d645..bd1ce77310d7471874bc2f22370b5157bbd5362f 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@ XFILES = avwcpgeom avwmerge avwnvols avwsplit \
 	avwstats avwcomplex avwstats++ avwfft avwmeants avwcheck avwswapdim avwconv avwslice avworient
 
 SCRIPTS = avwval avwchpixdim avwanimate sliceanimate avwsize avwinfo avwedithd avwchfiletype
+FSCRIPTS = fmriborient
 
 RUNAVWS = avw2ascii avwmaths avwcc avwroi avwfill avwinterleave
 
diff --git a/fmriborient b/fmriborient
new file mode 100755
index 0000000000000000000000000000000000000000..ba5663f484da70d1806681dab85a510a72199546
--- /dev/null
+++ b/fmriborient
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+if [ $# -lt 1 ] ; then
+  echo "$0 <list of files>"
+  echo "  Fixes the orientation of all pre-3.2beta nifti1 files written in fmrib"
+  exit 1
+fi
+
+
+FSLDIR=/usr/local/fsltest
+export FSLDIR
+
+for fm in $@ ; do
+    stdspace=0;
+    if [ `$FSLDIR/bin/imtest $fm` = 1 ] ; then
+	fn=`$FSLDIR/bin/imglob $fm`
+	fb=`$FSLDIR/bin/remove_ext $fn`
+	if [ X`$FSLDIR/bin/avwval $fb descrip` != XFSL3.2beta ] ; then
+
+	    # make a backup copy and check to see if it copied OK (exit if not)
+	    ftmp=`echo ${fn} | sed 's/.nii/_niifix.nii/'`
+	    if [ X$ftmp = X$fn ] ; then
+		ftmp=${fn}_niifix
+	    fi
+	    /bin/cp -p $fn ${ftmp}
+	    if [ `$FSLDIR/bin/imtest ${ftmp}` != 1 ] ; then 
+		echo "FAIL 1"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+            statsA=`$FSLDIR/bin/avwstats++ ${fb} -R -V`
+            statsB=`$FSLDIR/bin/avwstats++ ${ftmp} -R -V`
+	    min=`echo $statsA | awk '{ print $1 }'`
+	    mint=`echo $statsB | awk '{ print $1 }'`
+	    if [ $min != $mint ] ; then 
+		echo "FAIL 2: $min $mint"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    max=`echo $statsA | awk '{ print $2 }'`
+	    maxt=`echo $statsB | awk '{ print $2 }'`
+	    if [ $max != $maxt ] ; then 
+		echo "FAIL 3: $max $maxt"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    mvv=`echo $statsA | awk '{ print $3 }'`
+	    mvvt=`echo $statsB | awk '{ print $3 }'`
+	    if [ $mvv != $mvvt ] ; then 
+		echo "FAIL 4: $mvv $mvvt"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    
+	    # OK, now remove orientation information
+	    $FSLDIR/bin/avworient -deleteorient $fb
+
+	    # check if it should be in standard space
+            hdrinfo=`$FSLDIR/bin/avwhd $fn`;
+            nx=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep dim1 | head -1 | awk '{ print $2 }'`;
+            ny=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep dim2 | head -1 | awk '{ print $2 }'`;
+            nz=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep dim3 | head -1 | awk '{ print $2 }'`;
+            dx=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep pixdim1 | head -1 | awk '{ print $2 }'`;
+            dy=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep pixdim2 | head -1 | awk '{ print $2 }'`;
+            dz=`echo $hdrinfo | sed 's/ \([a-z]\)/X\1/g' | tr 'X' '\n' | grep pixdim3 | head -1 | awk '{ print $2 }'`;
+
+	    if [ $nx -eq 91 -a $ny -eq 109 -a $nz -eq 91 ] ; then
+		if [ `echo "( $dx * $dx - 4.0 ) * 1000" | bc -l` -eq 0 ] ; then
+		    if [ `echo "( $dy * $dy - 4.0 ) * 1000" | bc -l` -eq 0 ] ; then
+			if [ `echo "( $dz * $dz - 4.0 ) * 1000" | bc -l` -eq 0 ] ; then
+			  # treat it as a standard space image
+			    $FSLDIR/bin/avwcpgeom /usr/local/fsl/etc/standard/avg152T1 $fb -d
+			fi
+		    fi
+		fi
+	    fi
+
+	    # check if stats are still OK, if not then restore copy
+	    if [ `$FSLDIR/bin/imtest ${fb}` != 1 ] ; then 
+		/bin/cp -p ${ftmp} ${fn}
+		echo "FAIL 5: ${fb}"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    statsA=`$FSLDIR/bin/avwstats++ ${fb} -R -V`;
+	    statsB=`$FSLDIR/bin/avwstats++ ${ftmp} -R -V`;
+	    min=`echo $statsA | awk '{ print $1 }'`
+	    mint=`echo $statsB | awk '{ print $1 }'`
+	    if [ $min != $mint ] ; then
+		/bin/cp -p ${ftmp} ${fn}
+		echo "FAIL 6: $min $mint"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    max=`echo $statsA | awk '{ print $2 }'`
+	    maxt=`echo $statsB | awk '{ print $2 }'`
+	    if [ $max != $maxt ] ; then 
+		/bin/cp -p ${ftmp} ${fn}
+		echo "FAIL 7: $max $maxt"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    mvv=`echo $statsA | awk '{ print $3 }'`
+	    mvvt=`echo $statsB | awk '{ print $3 }'`
+	    if [ $mvv != $mvvt ] ; then 
+		/bin/cp -p ${ftmp} ${fn}
+		echo "FAIL 8: $mvv $mvvt"
+		echo ${fb} >> /tmp/NIIFIXFAILS ; exit 2 ; 
+	    fi
+	    
+	    # if all checks are fine then remove the backup
+	    $FSLDIR/bin/imrm ${ftmp}
+	    
+	fi
+    fi
+done
+
diff --git a/fsledithd b/fsledithd
index 1b718282e1f64b5c673cfeaeb3e9fdce6846eea2..91e5669dbadd39669fc546f3e8bfaa4f4544de17 100755
--- a/fsledithd
+++ b/fsledithd
@@ -23,11 +23,11 @@ if [ _$FSLDIR = _ ] ; then
     export FSLDIR
 fi
 
-if [ X$EDITOR = X ] ; then
-    EDITOR=pico
+if [ X$FSLEDITOR = X ] ; then
+    FSLEDITOR=pico
 fi
 if [ $# -ge 2 ] ; then
-    EDITOR=$2
+    FSLEDITOR=$2
 fi
 
 tmpbase=`${FSLDIR}/bin/tmpnam`;
@@ -67,7 +67,7 @@ echo " " >> ${tmpbase}
 echo "/>" >> ${tmpbase}
 
 # edit header, reprocess and pass onto avwcreatehd
-${EDITOR} ${tmpbase}
+${FSLEDITOR} ${tmpbase}
 cat ${tmpbase} | grep -v '^[ 	]*#' | grep -v '^[ 	]*$' > ${tmpbase2}
 ${FSLDIR}/bin/avwcreatehd ${tmpbase2} $1